web-dev-qa-db-ja.com

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

Apacheユーザー(www-data)をaudioグループに追加します。 useraddのマニュアルページを読みましたが、運がありません。 xubuntu 11.10を実行しています。ここに私がやっていることがあります:

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

-Gオプションbashを省略すると、useraddのヘルプ情報が出力されます。

$ Sudo useradd  audio www-data
Usage: useradd [options] LOGIN
Options: -b, --base-dir BASE_DIR       base directory for the home directory...

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

663
Sparky1

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

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

これを試して:

Sudo usermod -a -G groupName userName

ユーザーは、ログアウトしてから再度ログインして、新しいグループが追加されたことを確認する必要があります。

  • -a(追加)スイッチは不可欠です。それ以外の場合、ユーザーはリストにないグループから削除されます。

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

1032
dpendolino

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

Sudo adduser user group

グループからユーザーを削除する:

Sudo deluser user group
222
Bai

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

usermod -a -G group user  

/etc/groupからグループのアクセス許可を取得するには、ログアウトとログインが必要になる場合があります。

54
Amos Folarin

私は通常使用します

Sudo gpasswd -a myuser mygroup
26
enzotib

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

Sudo usermod -a -G groupName userName

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

ただし、新しいグループメンバーシップをすぐに使用するためのショートカットが必要な場合(そして、正しいSudo特権を持っている)Iこの回避策を見つけました:

$ Sudo su -
# su [userName]
$ groups

説明:

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

私の場合、「docker」グループをユーザーに追加しようとしました

前:

$ groups
userName adm cdrom Sudo dip plugdev lpadmin sambashare wireshark lxd

後:

$ groups
userName adm cdrom Sudo dip plugdev lpadmin sambashare wireshark lxd docker
8
bluemorpho

Ubuntuでは、 rootとしてログインしない であるため、Sudoグループのユーザーは、特定の制限されたコマンドの特権を昇格できます。特権を高めるには、制限されたコマンドの前にSudoを付加する必要があります。

Sudo usermod -a -G groupuser

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

Sudo usermod -a -G groupName userName

うまく動作しますが、私はrebootをしなければなりませんでした。

1
alex