序文
これは、Sudoersファイルと一般的なsudoコマンドに関連するかなり複雑な質問です。
注:Ubuntu Desktop 13.04を実行している専用マシンでこれらの変更を加えました。これは純粋に学習目的で使用します。NOPASSWD sudoを有効にすると、大きなセキュリティリスクになることを理解しています。
質問
最初は、sudoersファイル(/ etc / sudoers)への唯一の変更は1行でした。ユーザー指定により、「nicholsonjf」はパスワードを入力せずにsudoを使用してすべてのコマンドを実行できます(「nicholsonjf '):
# 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
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
nicholsonjf ALL=NOPASSWD: ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# 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
ただし、これは機能せず、「nicholsonjf」としてコマンドを実行するたびにパスワードの入力を求められました。sudoおよびadminグループから「nicholsonjf」を削除すると、「nicholsonjf」としてsudoコマンドの実行を開始できました。
なぜこれが機能したのか説明できますか?
これは、ユーザー「nicholsonjf」が「admin」と「sudo」の2つのグループ仕様(sudoersファイルで下に表示)からsudo権限を継承していたためです。設定ファイル?