Rootパスワードを尋ねずにプログラムを実行したい。システムを使うのは私だけだから。そこで、グーグルして/etc/sudoers
を編集しました。
私がしたこと:
# chmod 640 /etc/sudoers
# vim /etc/sudoers
以下のような行を追加しました:
# User privilege specification
root ALL=(ALL:ALL) ALL
sgg ALL=(ALL:ALL) ALL
ファイルを保存して閉じました。システムを再起動。ただし、変更/改善はありません。他の行を変更したいですか?または方法はありますか?
編集:
1.パーミッション/etc/sudoers
を0440
に変更しました。 ls -l /etc/sudoers
結果は
-r--r----- 1 root root 772 May 4 19:43 /etc/sudoers
2 .# visudo
を実行します。ファイルの内容は
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
sgg 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
しかし、それでもSudo ls
を実行するとパスワードの入力を求められます。
システム情報:Ubuntu 14.04 x86_64 3.13.0-24-generic
最初にいくつかの一般的なポイント:
なし/etc/sudoers
を直接編集します。代わりに常にSudo visudo
を使用する必要があります。これにより、ファイルを編集できますが、保存する前にエラーをチェックします。 sudoers
の構文はトリッキーであり、Sudo
を使用できなくなるため、誤りがあるとシステムが使用できなくなる可能性があります。
なし/etc/sudoers
の権限を変更します。一般に、システムファイルのアクセス許可は変更しないでください。多くの場合、それらに関連付けられたプログラムは適切に機能せず、これは悪い習慣であり、セキュリティホールです。そもそもSudo
の目的なので、アクセス許可を変更するためにneedする必要はありません。
さらに、/etc/sudoers
の権限を640に設定して書き込みができた場合、そのownerもユーザーに変更したことになります。それは効果的にそれを壊します。 man sudoers
で説明されているように:
/ etc/sudoersはgid Nが所有しています。1である必要があります。sudoersファイルのグループ所有権が間違っています。 sudoersファイルグループの所有権を変更する場合は、「sudoers_gid = N」(「N」はsudoersファイルを所有するグループID)をSudo.conf(5)ファイルのsudoersプラグイン行に追加してください。
通常のユーザーがドライブをマウントできるようにする場合は、/etc/fstab
でそれを指定することをお勧めします。あなたの例を使用して、あなたはこの行がそこに欲しいでしょう:
/dev/sda6 /media/sgg/D vfat users,rw,errors=remount-ro,noauto 0 0
それは通常のユーザーがそれをマウントすることを可能にします
mount /dev/sda6
上記にもかかわらず、ユーザーがパスワードなしでコマンドを実行できるようにしたい場合、/etc/sudoers
に追加する行(Sudo visudo
を使用)は次のとおりです。
sgg ALL=NOPASSWD:ALL
ファイルを保存してvisudo
を終了し、Sudo ls
を実行してみてください。パスワードの入力を求められることはありません。テストしたところ、LMDEで動作することを確認できました。
これは、すべてのコマンドを実行できることをシステムに伝えます(いずれにしてもデフォルトです)が、パスワードについては何も言われません。必要なもの:
sgg ALL = (ALL) NOPASSWD: ALL
Manページから:
FULLTIMERS ALL = NOPASSWD: ALL
フルタイムのシステム管理者(millert、mikef、dowdy)は、自分自身を認証することなく、任意のホストで任意のコマンドを実行できます。