su/sudo
特定のグループのすべてのユーザーにアクセスできるユニバーサルユーザーを設定したいです。または、特定の命名方式を使用するすべてのユーザーの場合です。
Linuxでこれは可能ですか?
また、ユーザーが完全なrootアクセス権を取得したくないことにも言及する必要があります。
答え1
リストsudo
には、たとえば次の規則を使用します。%<group-name>
RunAs
sysad ALL = (%wheel) ALL
次のグループ構成:
$ getent group wheel
wheel:x:10:root,muru
私たちは次のような興味深い効果を得ます。
$ sudo -u sysad bash -c 'echo $USER'
Sorry, user sysad is not allowed to execute '/usr/bin/bash' as sysad on muru-arch.
$ sudo -u root bash -c 'echo $USER'
root
答え2
これは sudors ファイルを編集することで達成できます。
lnydex99uhc:~ user$ ls /etc/sudoers
/etc/sudoers
まず、次のコマンドを実行して現在のsudo設定を印刷します。
sudo -ll | column -t
サンプル項目
コマンドの前にsudoを使用するときにユーザーがroot権限全体を取得できるようにするには、次の行を追加します。
USER_NAME ALL=(ALL) ALL
ユーザーは任意のコマンドを任意のユーザーとして実行できますが、ホスト名がHOST_NAMEのコンピューターでのみ可能です。
USER_NAME HOST_NAME=(ALL) ALL
グループホイールsudoのメンバーへのアクセスを許可します。
%wheel ALL=(ALL) ALL
ユーザーUSER_NAMEにパスワードの入力を求められないようにするには、次の手順に従います。
Defaults:USER_NAME !authenticate
ホストHOST_NAMEのユーザーUSER_NAMEに対してのみ明示的に定義されたコマンドを有効にします。
最後に、そうするしかないのではない場合は注意してください。新しく追加されたユーザーには、マシンを引き継ぐための十分な権限があります。
ファイルの編集を始める前に最後に読んでおくべきことが1つあります。
**
This file MUST be edited with the 'visudo' command as root.
# Failure to use 'visudo' may result in syntax or file permission errors
# that prevent sudo from running.
#
# See the sudoers man page for the details on how to write a sudoers file.
**