SSH接続用のUbuntuのカスタマイズ

SSH接続用のUbuntuのカスタマイズ

新しい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はパスワードが必要ないことを指定するラベル、最後はALLtomがsudoを介して実行できるコマンドを指定するラベルです。

コマンド(またはコマンドと引数の組み合わせ)を制限したい場合は、2番目のコマンドを渡すことができますALL。たとえば、次のようになります。

tom    ALL = NOPASSWD: /bin/kill, /usr/bin/lprm

よりSudoersのマニュアルページそして代替マニュアルページページの下の約80%に異なる例があります。

答え2

sudoルートユーザーまたはマスターユーザーは次の操作を実行できます。

usermod -aG sudo tom

これにより、ユーザーtomが「sudo」グループに追加されます。これが必要なすべてです。これ/etc/sudoersにより、ファイルを変更する必要がなくなり、コマンドパスワードを必要とするセキュリティ層を削除しない限り、ファイルから変更を元に戻すことができますsudo。これが必要な場合は、次の行を使用する必要があります(例:おめでとう彼の答えから)あなたの/etc/sudoersファイルに:

tom    ALL = NOPASSWD: ALL

ただし、一般的なコマンドパスワード要求方法を使用するには、ファイルを保持してユーザーを「sudo」グループに追加する必要がありますsudo。その後、その変更を/etc/sudoers行い、パスワードログインを許可しないでください。/etc/ssh/sshd_config

通常、Ubuntu は一般ユーザーがいくつかの重要なグループに属するように設定されます。groups端末に入力して、デフォルトユーザーが属するグループを確認できます。

これが私に示したものですが、出力は異なる場合があります。

$ groups
<users-own-group> adm cdrom sudo dip plugdev lpadmin sambashare

広範な権限を持ってはいけない一般ユーザーは、最低限必要ですcdrom, plugdev, lpadmin。ただし、sudoユーザーを作成しているので(少なくとも必要なようです)、それに応じてユーザーをグループに追加する必要があります。上記のコマンドを使用してグループをリンクできます,。ただし、sambashareSambaがインストールされていない場合は、そのグループは必要ないかもしれません。

usermod -aG <group1>, <group2> <username>

関連情報