異なる設定でログインできるようにしたいが、それでも同じ「ユーザー」でありたい。そこで、同じUID/GUIDを持ち、ホームディレクトリが異なる2人目のユーザーを追加しました。Ubuntuを起動すると、システムがハングします。 passwd
およびshadow
ファイルから2番目のユーザーを削除すると、システムは正常に起動します。
通常、/etc/passwd
および/etc/shadow
ファイルを手動で編集することはお勧めできません。そのためのツールを備えたシステムを使用することをお勧めします。それに加えて、同じGUIDを別のユーザーと共有することもできますが、UIDはユーザーごとに一意である必要があります。そのため、必要なアプリケーションの起動を妨げるLinuxの起動、および/またはUIDが一意であることを期待しているアプリケーションの起動のいずれかが失敗する可能性が高くなります。
ディレクトリを共有する2人のユーザーのより良いアプローチは、グループ管理を使用してそれを行うことです。可能なガイドについては、ユーザー管理に関するドキュメントを参照するか、 Ask Ubunt を参照してください。
ただし、次のコマンドを発行するだけでユーザーを作成できます。
Sudo useradd -U -m -G <additional groups here> <user-name>
これにより、動作するシステムにユーザーが追加されます。 man 8 useradd
(上記の行の説明は、最も一般的なオプションのみに短縮されています。完全な概要については、manページをご覧ください):
オプション
The options which apply to the useradd command are: -c, --comment COMMENT Any text string. It is generally a short description of the login, and is currently used as the field for the user's full name. -g, --gid GROUP The group name or number of the user's initial login group. The group name must exist. A group number must refer to an already existing group. If not specified, the behavior of useradd will depend on the USERGROUPS_ENAB variable in /etc/login.defs. If this variable is set to yes (or -U/--user-group is specified on the command line), a group will be created for the user, with the same name as her loginname. If the variable is set to no (or -N/--no-user-group is specified on the command line), useradd will set the primary group of the new user to the value specified by the GROUP variable in /etc/default/useradd, or 100 by default. -G, --groups GROUP1[,GROUP2,...[,GROUPN]]] A list of supplementary groups which the user is also a member of. Each group is separated from the next by a comma, with no intervening whitespace. The groups are subject to the same restrictions as the group given with the -g option. The default is for the user to belong only to the initial group. -k, --skel SKEL_DIR The skeleton directory, which contains files and directories to be copied in the user's home directory, when the home directory is created by useradd. This option is only valid if the -m (or --create-home) option is specified. If this option is not set, the skeleton directory is defined by the SKEL variable in /etc/default/useradd or, by default, /etc/skel. If possible, the ACLs and extended attributes are copied. -m, --create-home Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the -k option) will be copied to the home directory. By default, if this option is not specified and CREATE_HOME is not enabled, no home directories are created. -M Do no create the user's home directory, even if the system wide setting from /etc/login.defs (CREATE_HOME) is set to yes. -s, --Shell SHELL The name of the user's login Shell. The default is to leave this field blank, which causes the system to select the default login Shell specified by the Shell variable in /etc/default/useradd, or an empty string by default. -U, --user-group Create a group with the same name as the user, and add the user to this group. The default behavior (if the -g, -N, and -U options are not specified) is defined by the USERGROUPS_ENAB variable in /etc/login.defs.
したがって、-U
は、ユーザーUIDと一致するGUIDを持つユーザー名に類似した名前のユーザーグループを作成します。 -m
は、/home/<user-name>
にユーザーのホームディレクトリを作成し、-G
を使用すると、このユーザーが所属するグループを追加できます。後でグループを追加することもできます。 Ubuntuがメインユーザーに追加するグループは、adm
、cdrom
、Sudo
、dip
、plugdev
、lpadmin
、およびsambashare
です。 。後でグループを追加するには、次のコマンドを使用できます。
Sudo usermod -aG <group-or groups> <user-name>
最後に、ユーザーは次のように設定できるパスワードを持っている必要があります。
Sudo passwd <username>
これで、ターミナルでのユーザー作成プロセスが終了します。
上記で見たプロセスの一部を自動化するadduser
という複合コマンドもあります。使用方法は man 8 adduser
をご覧ください。