新しいUbuntuサーバーを作成し、rootユーザー内に新しいユーザーを作成しました。私が従ったステップ:
sudo adduser tom
sudo su - tom
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
nano .ssh/authorized_keys // paste public key
大丈夫に見えてログインできます[email protected]
。しかし、Tomとしてログインすると権限を要求し、sudoをするとパスワードを要求しますが、Tomのパスワードがないため、rootパスワードを使用するので、次のように警告します。
[sudo]トムのパスワード:トムはsudoersファイルにありません。このイベントが報告されます。
visudo
私のrootユーザーからTomを次のように追加しようとしました。
root ALL=(ALL:ALL) ALL
tom ALL=(ALL:ALL) ALL
しかし、それは何も変えません。
Tomがジョブを実行する権限を持ち、彼が要求した唯一のパスワードがSSHパスワードであるように設定する正しい方法は何ですか? TomはSSHパスワードを使用してsudo npm install
次のタスクを実行する必要がありますsudo composer install
。それとも、ルートパスワードでさえ知らなければなりません。
私がここで何を見逃しているのでしょうか?
ベストアンサー1
編集する:
2番目の読み取りによると、まだsudoを使用してTomにパスワードを求めるメッセージを表示するには、次の手順を実行する必要があります。
tom ALL = ALL: ALL
Tomがパスワードなしでsudoを実行できるようにするには、次の回答を使用してください。
私はあなたがその行を次のようにしたいと思います。
tom ALL = NOPASSWD: ALL
説明する:
tom
はこの行が適用されるユーザー、最初のものはこの行が適用さALL
れるホスト、NOPASSWD
はパスワードが必要ないことを指定するラベル、最後はALL
tomがsudoを介して実行できるコマンドを指定するラベルです。
コマンド(またはコマンドと引数の組み合わせ)を制限したい場合は、2番目のコマンドを渡すことができますALL
。たとえば、次のようになります。
tom ALL = NOPASSWD: /bin/kill, /usr/bin/lprm
よりSudoersのマニュアルページそして代替マニュアルページページの下の約80%に異なる例があります。