useradd
Ubuntuでは、次のコマンドを使用して端末を介して新しいユーザーを追加しました。
useradd -u 210 -g dba -s /bin/bash -d /home/oracle -m oracle
端末からこの新しいユーザーとしてログインできます。ただし、システムの起動時にこの新しいユーザーにログインウィンドウを提供して、そのユーザーに直接ログインして特定のタスクを実行できるようにしたいと思います。この目標を達成する方法は?
答え1
~によるとLinux標準ライブラリ:
0から99までのシステムユーザーIDはシステムによって静的に割り当てられ、アプリケーションによって生成されてはなりません。
100から499までのシステムユーザーIDは、useraddを使用するシステム管理者およびインストール後のスクリプトによる動的割り当てのために予約する必要があります。
したがって、一般ユーザーのUIDは499より大きくなければなりません。また、Debian ポリシー指摘した:
0-99:
Debianプロジェクトによってグローバルに割り当てられ、すべてのDebianシステムで同じです。このIDはすべてのDebianシステムのpasswdファイルとグループファイルに表示され、この範囲の新しいIDはbase-passwdパッケージが更新されると自動的に追加されます。
静的に割り当てられた単一のuidまたはgidを必要とするパッケージは、これらのいずれかを使用する必要があります。管理者はbase-passwd管理者にIDを要求する必要があります。
100-999:
システムユーザーとグループを動的に割り当てます。ユーザーまたはグループが必要ですが、そのユーザーまたはグループを各システムで動的に別々に割り当てることができるパッケージは、adduser --systemを使用してグループおよび/またはユーザーを作成する必要があります。 adduser は、ユーザーまたはグループが存在することを確認し、必要に応じて adduser.conf で指定された範囲に基づいて未使用の ID を選択します。
1000-59999:
動的に割り当てられたユーザーアカウント。デフォルトでは、adduserはこの範囲のユーザーアカウントのUIDとGIDを選択しますが、この動作はadduser.confを使用して変更できます。
これはDebianに基づくUbuntuにも当てはまります。これは明示的に言及されていませんが、通常、システムユーザーはグラフィカルにログインすることは許可されず、しばしばまったくログインできません。したがって、ユーザーがログインできない理由は、選択したUIDが低すぎるためです。
adduser
また、Debian の世界では、アカウントの作成時と使用をお勧めします。useradd
からman useradd
:
useraddは、ユーザーを追加するための低レベルユーティリティです。 Debian では、管理者は通常 adduser(8) を使用する必要があります。
すべての意味は、i)UID> = 1000を使用する必要があり、ii)adduser
デフォルトを使用して受け入れると、すべてが期待どおりに設定されることです。