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ページからはわかりません。
useradd
コマンドは、新しいユーザーを追加しようとします。ユーザーはすでに存在しているため、これは望みのものではありません。
代わりに、既存のユーザーを変更するには、そのユーザーを新しいグループに追加するなど、 usermod
コマンドを使用します。
これを試して:
Sudo usermod -a -G groupName userName
ユーザーは、ログアウトしてから再度ログインして、新しいグループが追加されたことを確認する必要があります。
-a
(追加)スイッチは不可欠です。それ以外の場合、ユーザーはリストにないグループから削除されます。
-G
スイッチは、ユーザーを割り当てる追加グループの(コンマ区切りの)リストを取ります。
グループへのユーザーの追加:
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特権を持っている)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
Ubuntuでは、 root
としてログインしない であるため、Sudo
グループのユーザーは、特定の制限されたコマンドの特権を昇格できます。特権を高めるには、制限されたコマンドの前にSudo
を付加する必要があります。
Sudo usermod -a -G groupuser
既存のユーザーuser
をgroup
という名前の補足グループに追加します。ユーザーのプライマリグループは変更されません。
Sudo usermod -a -G groupName userName
うまく動作しますが、私はrebootをしなければなりませんでした。