2011-09-24 7 views
15

Rはstaffというグループを作成し、sudoとしてRを起動しないでパッケージを更新できるようにします。 (?側の質問あなたがメンバーなら、他のすべてのグループを一覧表示することなく、グループに自分自身を追加する方法があります)"id"を実行するとグループに追加されますが反映されません

sudo usermod -G adm,dialout,cdrom,plugdev,lpadmin,admin,sambashare,staff matt 

を私がチェックした場合は/ etcを:だから私は使用してスタッフに自分自身を追加しました私は

staff:x:50:matt 

と私はグループを実行する場合は/ etc /しかし

staff:*::matt 

影に同じ参照/グループまたは私はスタッフのメンバーではありません。また、/ usr/local/lib/Rにあるものは変更できません。

答えて

38

sudo usermodコマンドを実行した後、「matt」アカウントをログアウトしてログインしましたか? Unix環境下でユーザーがいるグループの変更は、ログイン時にのみ有効です。

+0

ありがとうございます。それは私がすでに変更のメンバーであったことを反映して他のグループに削除してreaddすることができたb/cでも変わった。 –

+2

は、 'ssh'を使ってログインしていて、' ControlMaster'を持っている場合は、接続が開いて再利用されるので、グループも表示されないことに注意してください。そのような場合に本当に新しいログインを強制するには、まずssh共有接続を強制終了するために 'ssh -O -hostname'を終了する必要があります – ecerulm

+0

これは私の問題でした。 '-O stop'を使うことをお勧めします。これは既存のSSHセッションを終了させず、次のセッションのための新しい接続を作成します。 – Feuermurmel

2

あなたの側の質問に答えて、はい、ユーザーをグループに追加することはできません。 Debianベースのシステムを実行する場合、あなたは

sudo adduser matt staff

でそれを行うことができますadduserユーティリティは、useraddコマンド/ usermodの周りにだけ優しいのラッパーであるなど

あなたはadduser有用性を持っていない場合は、あなたはまだUSERMODでそれを行うことができます。

sudo usermod -a -G staff matt

-aフラグ手段(上書きではなく)追加します。

+0

'' usermod''ユーティリティは、DebianやArchlinuxなどの他のディストリビューションでも使用できるので、複数のディストリビューションのスクリプトを扱うときに便利です。 –

0

私は、Linuxが、OSXのユーザーが、このコマンドを使用して同じことを行うことができますため、元の質問がある知っている:

sudo dseditgroup -o edit -a newusertoadd -t user grouptobeaddedto 
関連する問題