次のユーザーとしてログインしているとしますtakpar
。
takpar@skyspace:/$
takpar
ルートとして、次のコマンドを使用してグループメンバーとして追加しましたwebdev
。
# usermod -a -G webdev takpar
しかし、まだ適用されていないようです。たとえば、webdev
グループの読み取り権限を持つディレクトリに入ることができないためです。
400169 drwxr-x--- 3 webdev webdev 4.0K 2011-08-15 22:34 public_html
takpar@skyspace:/home/webdev/$ cd public_html/
bash: cd: public_html/: Permission denied
ところが再起動すると、予想通りに接続になります。このようなグループ変更が日常ですが、再起動せずに適用できる方法はないでしょうか?
回答
現在のセッションに新しいグループを認識させる方法がないようです。たとえば、ファイルマネージャは新しい変更を処理できません。ただし、再度ログインすると操作は完了します。このsu
コマンドは、現在のセッションの一時コマンドでも機能します。
ベストアンサー1
ローカル回避策:su yourself
再ログインを使用してください。新しいセッションでは、あなたはこのグループのメンバーと見なされます。
現在のグループIDの変更(および新しいグループログイン)のマニュアルページnewgrp
も興味深いことがあります。sg
webdev
現在のシェルでグループID(および権限)を使用するには、次を使用します。newgrp webdev
グループIDを使用してコマンドを開始し、シェルで現在の権限を維持するには、次のようにします。
sg webdev -c "command"
(グループ
sg
に似ていますsu
が、システムデータにグループのメンバーとしてリストされている場合は、グループパスワードなしで機能します。)