既存のユーザーを既存のグループに追加するには?

Apacheユーザーを追加したい(www-data)に audio グループ。 私はmanページを読んだ useradd しかし、私は運がありません。 私はxubuntu11.10を実行しています。 ここで私がやっていることです:

$ sudo useradd -G audio www-datauseradd: user 'www-data' already exists

私が除外した場合 -G オプション、bashは、のヘルプ情報を出力します useradd:

$ sudo useradd  audio www-dataUsage: useradd [options] LOGINOptions: -b, --base-dir BASE_DIR       base directory for the home directory...

この作業を行うためにどのオプションを使用する必要があるかは、manページからはわかりません。

その useradd コマンドは、新しいユーザーを追加しようとします。 あなたのユーザーはすでに存在するので、これはあなたが望むものではありません。

代わりに、新しいグループにそのユーザーを追加するなど、既存のユーザーを変更するには、次のコマンドを使用します。 usermod コマンド。

これを試してみてください:

sudo usermod -a -G groupName userName
  • その -a (追記)スイッチは必須です. それ以外の場合、ユーザーはリストではなく、任意のグループから削除されます。

  • その -G switchは、ユーザーを割り当てる追加のグループの(カンマ区切りの)リストを取ります。

一般的に(GUIの場合、またはすでに実行中のプロセスの場合など)。)、ユーザー ログアウトして再度ログインする必要があります 彼らの新しいグループが追加されたのを見るために。 現在のシェルセッションでは、次のように使用できます newgrp:

newgrp groupName
  • newgrp 現在のシェルセッションにグループを追加します。

グループへのユーザーの追加:

sudo adduser user group

グループからのユーザーの削除:

sudo deluser user group

既存のユーザーに追加した後:

usermod -a -G group user  

次の操作が必要になる場合があります ログアウトとログイン グループの権限を取得するには、次の操作を行います /etc/group.

私は通常使用します

sudo gpasswd -a myuser mygroup

私はコメントするのに十分な評判を持っていないので、私はこれを答えとして投稿しています。 @Dpendolinoが述べたように、このコマンドの効果が持続するために:

sudo usermod -a -G groupName userName

...再度ログアウト/ログインする必要があります。

ただし、新しいグループメンバーシップの使用を開始するためのショートカットが必要な場合は、次の手順を実行します。 すぐに (そして、あなたは正しい 須藤 特権)私はこの回避策を見つけました:

$ sudo su -# su [userName]$ groups

説明:

  • sudo su - あなたにルートシェルを与えます
  • su [userName] ユーザーと一緒にシェルに戻ります
  • groups 今すぐ実行すると、追加したグループが表示されます usermod -aG コマンド

私の場合、私は自分のユーザーに'docker'グループを追加しようとしていました

前に:

$ groupsuserName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd

後:

$ groupsuserName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd docker
sudo usermod -a -G groupName userName

うまく動作しますが、私はしなければならなかった 再起動 完全に、ちょうどログアウトし、再びログインすると、仕事をしませんでした。..

Ubuntuでは、 としてログイン root 有効になっていません のユーザーは、 sudo グループは、特定の制限されたコマンドの権限を昇格できます。 制限されたコマンドは、先頭に次のコマンドを追加する必要があります sudo 特権を昇格させるために。

sudo usermod -a -G グループ ユーザー

既存のユーザーを追加します user という名前の補足グループに group. ユーザーのプライマリグループは変更されません。

ユーザーを永続的にグループに追加するには、次のコマンドを実行します:

sudo usermod -a -G <groupname> <username>

その後、ログアウトして再度ログインします(または必要に応じて再起動します)。

説明:

その usermod コマンド が変更されます。 /etc/group ファイル そのグループに関連する行に指定されたユーザー名を一覧表示します。 あなたが実行した場合 grep <groupname> /etc/group、出力にユーザー名が表示されるはずです。

Linuxでは、すべてのプロセスがユーザーとグループに割り当てられ、すべての子プロセスは親プロセスのユーザーとグループを継承します。 したがって、この変更を有効にしてpropogateするには、ログアウトして再度ログインする必要があります(その時点で /etc/group が読み込まれ、使用されます)。 Waylandでは、完全な再起動が必要であることがわかりました。

コマンドを実行すると、次のようになります groups 現在のプロセスに期待されるグループがあるかどうかを確認できます。