Ubuntu でパスワードなしで特定の Sudo コマンドを実行する方法は?
パスワードsudo
ある特定のマシンで、時々
ほとんどの場合、
ただし、パスワードを入力せずに実行したい
これらのコマンドをパスワード保護から
ユーザーの名前が
これにより、ユーザー
コマンドが末尾の
注:
注: ここでも、コマンド
これにより、新しいファイルの所有者と権限が正しく設定されていることも自動的に確認されます.
解決策は、
正しいアクセス許可は次のようになります.
ownership and permissions を修正するには、次のように
投稿 How to Run Specific Sudo Commands Without a Password in Ubuntu? は Stack All Flow に最初に表示されました.
ある特定のマシンで、時々
sudo
個のコマンドを実行する必要があります.ほとんどの場合、
sudo
にパスワードを入力しても問題ありません.ただし、パスワードを入力せずに実行したい
sudo
コマンドが 3 つあります.sudo reboot
sudo shutdown -r now
sudo shutdown -P now
これらのコマンドをパスワード保護から
sudo
に除外するにはどうすればよいですか?受け入れられた回答
NOPASSWD ディレクティブを使用する
NOPASSWD
file で /etc/sudoers
ディレクティブを使用できます.ユーザーの名前が
user
で、ホストの名前が host
の場合、次の行を /etc/sudoers
に追加できます.user host = (root) NOPASSWD: /sbin/shutdown
user host = (root) NOPASSWD: /sbin/reboot
これにより、ユーザー
user
は、パスワードを入力せずに host
で目的のコマンドを実行できます.他のすべての sudo
ed コマンドには、引き続きパスワードが必要です.sudoers
ファイルで指定されたコマンドは、 sudoers
man page で説明されているように、完全に修飾されている (つまり、実行するコマンドへの絶対パスを使用している) 必要があります.相対パスを指定すると、構文エラーと見なされます.コマンドが末尾の
/
文字で終わり、ディレクトリを指している場合、ユーザーはそのディレクトリ内の任意のコマンドを実行できます (ただし、そのディレクトリ内のサブディレクトリ内では実行できません).次の例では、ユーザー user
は、ディレクトリ /home/someuser/bin/
内の任意のコマンドを実行できます.user host = (root) NOPASSWD: /home/someuser/bin/
注:
visudo
ファイルを編集するには、常にコマンド sudoers
を使用して、システムからロックアウトされないようにしてください.誤って sudoers
ファイルに間違った内容を書き込んでしまった場合に備えてください. visudo
は、変更されたファイルを一時的な場所に保存し、変更されたファイルがエラーなしで解析できる場合にのみ、実際の sudoers
ファイルを上書きします./etc/sudoers を変更する代わりに /etc/sudoers.d を使用する
/etc/sudoers
ファイルを編集する代わりに、/etc/sudoers.d
の新しいファイルに 2 行を追加することもできます. /etc/sudoers.d/shutdown
.これは、sudo
の権利に対するさまざまな変更を分離する洗練された方法であり、元の sudoers
ファイルはそのままにして、アップグレードを容易にします.注: ここでも、コマンド
visudo
を使用してファイルを編集し、システムからロックアウトされないようにする必要があります.sudo visudo -f /etc/sudoers.d/shutdown
これにより、新しいファイルの所有者と権限が正しく設定されていることも自動的に確認されます.
sudoers がめちゃくちゃな場合
visudo
を使用してファイルを編集せずに、誤って /etc/sudoers
を台無しにしたり、 /etc/sudoers.d
内のファイルを台無しにした場合、 sudo
からロックアウトされます.解決策は、
pkexec
の代替である sudo
を使用してファイルを修正することです./etc/sudoers
を修正するには:pkexec visudo
/etc/sudoers.d/shutdown
を修正するには:pkexec visudo -f /etc/sudoers.d/shutdown
sudoers
ファイルの所有権やアクセス許可が正しくない場合、そのファイルは sudo
によって無視されるため、この状況でロックアウトされることもあります.繰り返しますが、これを修正するには pkexec
を使用できます.正しいアクセス許可は次のようになります.
$ ls -l /etc/sudoers.d/shutdown
-r--r----- 1 root root 86 Jul 16 15:37 /etc/sudoers.d/shutdown
ownership and permissions を修正するには、次のように
pkexec
を使用します.pkexec chown root:root /etc/sudoers.d/shutdown
pkexec chmod 0440 /etc/sudoers.d/shutdown
投稿 How to Run Specific Sudo Commands Without a Password in Ubuntu? は Stack All Flow に最初に表示されました.
Reference
この問題について(Ubuntu でパスワードなしで特定の Sudo コマンドを実行する方法は?), 我々は、より多くの情報をここで見つけました https://dev.to/stackallflow/how-to-run-specific-sudo-commands-without-a-password-in-ubuntu-1opkテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol