ユーザーを適切なグループに追加した直後にsuを実行できるようにする方法


8

su次の権限を持つ実行可能ファイルがあります。

bash-4.2# ls -la /bin/su
-rws--s--- 1 root wheel 59930 Sep 14  2012 ./su

wheelグループではなくユーザーとしてログインして実行しようとするsuと、エラーが発生します。これは正しいことです。

bash-4.2$ su
bash: /bin/su: Permission denied

その後、このユーザーをwheelグループに追加しますroot

bash-4.2# usermod -a -G wheel user

しかし、同じターミナルセッションではまだ実行できませんsu

bash-4.2$ su
bash: /bin/su: Permission denied

新しいセッションでは、実行できますsusuユーザーを適切なグループに追加した直後に実行できるようにするにはどうすればよいですか?


1
ジョセフのnewgrp答えは正しいですが、それを実行するシェルにのみ適用されるため、複数のシェルを実行している場合、実行したシェルと実行していないシェルを簡単に忘れてしまいますnewgrp。ログアウトして再度ログインするだけの方が簡単/簡単です。
cas

回答:


8

単にユーザーに実行してもらいます

newgrp wheel

これにより、グループIDがに変更された新しいシェルが起動しwheelます。新しいシェルを開始して以前のシェルを終了したい場合は、

exec newgrp wheel

代わりに。

これは、カーネルが現在実行中のプロセスに関連付けられた以前のグループセットをまだ持っているためです。


どうすればグラフィカル端末エミュレータで実行できますか?newgrp wheelユーザーとして実行すると、パスワードの入力を求められます。rootパスワードを入力しても、次のように表示されます:無効なパスワード
user4035

@ user4035 NIS / LDAPのような認証メカニズムを備えたネットワーク環境について話していますか?その場合、新しいグループの関連付けがまだクライアントマシンに適切に伝達されていない可能性があります。
ジョセフR.

いいえ、それは私のローカルマシンです。ユーザーとしてログインし、Xセッションを実行しsuてからターミナルを起動し、そこで実行してrootに切り替えます。「newgrp wheel」を実行しようとしましたが、いくつかのパスワードを要求されます:bash-4.2$ newgrp wheel Password: rootパスワードが機能しません
user4035

@ user4035 マンページによると、これはユーザーのパスワードであり、rootのパスワードではありません。これは基本的に新規ログインと同じであるため、これは論理的です。
ニルス

2
の効果はnewgrp wheel"ユーザーをホイールグループに追加"を有効にすることではないため、この回答は不正確であることに注意してください。効果は、根本的に異なるユーザーのプライマリGIDが変更されることです。たとえば、新しく作成されたファイルには、新しいGID。
JakubKlinkovský18年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.