Linuxで互換性のないグループ権限 - バグですか? [コピー]

Linuxで互換性のないグループ権限 - バグですか? [コピー]

重複の可能性:
再起動せずに新しく追加されたユーザーグループに変更を適用するにはどうすればよいですか?

Ubuntu 11.04を使用しています。別のユーザーを作成し、既存のユーザーを別のユーザーグループに配置し、別のユーザーのホームディレクトリに書きたいと思います。

# uname -a
Linux vini 2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:18:14 UTC
2011 i686 athlon i386 GNU/Linux
# whoami
sachin
# su root
# useradd -m -U foo               // create user foo
# usermod -a -G foo sachin      // add user `sachin' to group `foo'
# chmod 770 /home/foo/
# exit
# whoami
sachin
# cd /home/foo/
bash: cd: /home/foo/: Permission denied
# groups sachin
sachin : sachin foo

本当に変です。ユーザー sachin が foo グループにあり、/home/foo/ のグループビットが rwx に設定されていても、 sachin は /home/foo/ に chdir を設定できません。私はこれを理解できません。

ただし、終了フェーズ中にrootからsachinユーザーに切り替えると、次のことが起こります。

# uname -a
Linux vini 2.6.38-11-generic #50-Ubuntu SMP Mon Sep 12 21:18:14 UTC
2011 i686 athlon i386 GNU/Linux
# whoami
sachin
# su root
# useradd -m -U foo               // create user foo
# usermod -a -G foo sachin      // add user `sachin' to group `foo'
# chmod 770 /home/foo/
# su sachin
# whoami
sachin
# cd /home/foo/
# ls
examples.desktop

今、ここで何が起こっているのかを完全に理解することはできません。 su sachinのこのステップは、rootユーザーの権限の一部を継承しますか?

newgrp推奨される回避策は、グループやその他のユーザー情報を更新することを使用することです。これにより、newgrp - sachin新しく作成されたユーザーディレクトリにアクセスできますが、別のユーザーを作成して同じ手順を実行すると、sachin最新のユーザーディレクトリにアクセスできなくなります。

このような行動は本当に恥ずかしいです。

どんな説明でもよろしくお願いします。

答え1

現在のログインシェルプロセスは、以前のグループ構成を維持します。特に出力を比較します。

groups sachin

そして

groups

。ログアウトしてログインすると、違いは消えます。

不明な理由で再度ログインできない場合は、これらのnewgrp。内部的には、newgrp新しいプロセス層で「再ログイン」のみを実行します。ログアウトする場合は、newgrpコンテンツの実行中にCtrl-Dを頻繁に押す必要があります。

または、内部レイヤーを終了してnewgrpに戻ることもできますusermod。その後、現在のグループセットに再度アクセスできます。

関連情報