ランダムな質問があります。複数のサーバーに対して同じ構成を持っていますが、それらの一部だけを除外したユーザーのパスワードを要求します。
Using username "a-u".
Authenticating with public key "rsa-key-20220705"
Linux i01.is-u.local 4.9.0-18-amd64 #1 SMP Debian 4.9.303-1 (2022-03-07) x86_64
a-u@i01:~$ sudo su -
[sudo] password for a-u:
このユーザーは「sudo」グループの一部です。 /etc/sudoers.d/の下にファイルを作成し、次のように「sudo」グループを宣言します。
[/etc/sudoers.d]# cat nopasswd
%sudo ALL=NOPASSWD: ALL
また、/etc/sudoers ファイルの構成は次のとおりです。
[/etc]# cat sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
User_Alias ADMINS = a-u
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
ADMINS ALL = (ALL) NOPASSWD: ALL,!/usr/bin/passwd,!/usr/bin/passwd [A-z]*,!/usr/bin/passwd root
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
問題を見つけるのを手伝ってください。ありがとうございます。
ベストアンサー1
私が正常に使用したパターンはnopasswdファイルとは少し異なります。
%sudo ALL=(ALL) NOPASSWD: ALL
/etc/sudoersファイルを見ると、この行ADMINS
は最後のコマンドの後に除外されたコマンドのリストがあるのとほぼ同じであるため、ALL
これがうまくいくと思います。
編集する:公平に言えば、WhiteOwlはこれより数分前に同じ解決策を公開しました。 OPはここでコメントスレッドで問題を報告し、トラブルシューティングは/etc/sudoers.dフォルダ内の他のファイルがそのファイルのnopasswd
構成を上書きすることが原因であることを発見したため、OPはこの回答を受け入れました。 Sudoはその後に別のファイルを読み込んでおり、そのうちの1つが彼の設定を上書きする可能性があります。
これを拡張するために、sudoは/ etc / sudoersファイルに書き込まれ、含まれている順序でファイルを読み込みます。 sudoersファイルにフォルダ/ディレクトリが含まれている場合、sudoはフォルダのファイル名を英数字で(ロケールの組み合わせに従って)並べ替え、その順序でファイルを読み取ります。 sudoが必要な順序でファイルを読み取ることができるように、数値プレフィックスを使用してこれらのディレクトリ(/etc/sudoers.dなど)のファイル名を指定するのが一般的です。評価の順序を制御するために10-sudoers-group
、、、、20-admins-group
など99-special-admins
のファイル名を頻繁に表示します。