sudoersファイルを正しく設定しようとしていますが、見つかった文書が役に立たないようです。
次のユーザーがいます。ユーザー1
2 台の Debian サーバーがあります。サーバー1そしてサーバー2。
現在、SSHを使用してWindows PCから2つのサーバーのいずれかに接続し、必要に応じてsudo
権限をエスカレートできます。
これから行けるはずですサーバー1到着サーバー2シェルスクリプトからファイルを実行します。サーバー2同様に、sudo
パスワードを入力する必要はありません(スクリプトまたは手動で)。
このファイルを使用してこれを行うことができることを知っていますsudoers
。
しかし、どうすればいいですか?
私のsudoers
ファイルに(サーバー2)私は持っています:
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
%user1 ALL=(ALL:ALL) ALL
私は次のことができることを知っています。
%user1 ALL = NOPASSWD: /path/to/myscript
これによりユーザー1スクリプトの実行/パス/to/mysqscriptパスワードは必要ありません。しかし、Windows PCから接続すると、スクリプトの実行以外の操作を実行できなくなりますか?
NOPASSWD
理想的には、この機能を次の接続に制限したいと思います。サーバー1。
ここで何か抜けましたか?私は自分自身を完全にロックしないように変更を「テスト」することを嫌がっています。
ベストアンサー1
実際の答えを得る前に、1つの調整が必要です。 「%user1」を使用すると、「その人はグループuser1"; おそらく"user1"がuser1を意味することを望むでしょう。
第二に、sudoはあなたがどこにログインしたのかわかりません。~から- 現在sudoを実行している場合にのみ適用されます。
第三に、「visudo」を使用して変更する必要があります。これにより、構文エラーが発生するのを防ぎます。
第四に、sudoers行を追加すると、現在のアクセス権のみが増加します。そのスクリプトにsudoが必要な場合は、さらにsudoersエントリが必要です。