見知らぬ人も安全に入ることができるようにしてください

見知らぬ人も安全に入ることができるようにしてください

私のパブリックIPなどを使用して、家に非常に小さなWireguardサーバーを設定しました。私はできるだけ自分自身を保護し、強力なパスワードを設定するためにNATを使用します。

友達がSSHを介してこのサーバーにアクセスしようとしています。彼はフレンドリーですが、彼を完全に信頼したくなく、彼にアクセス権を与えたいだけです。彼がホームフォルダをめちゃくちゃにしないようにし、「sudo」または「su」を実行しないようにしたいと思います。

どうすればいいですか?

ChatGPTの提案を試してvisudoを変更しました。たとえば、次のようになります。

user ALL=(ALL) ALL, !DISABLE_SU, !DISABLE_SUDO, !/usr/bin/su *,!/usr/bin/sudo *, !/usr/sbin/visudo, !/usr/bin/* *sudoers

ただし、sudo su userセッションでこれを行うと、期待した「このコマンドを実行する権限がありません」というメッセージの代わりに「...を受け取りました」というメッセージが表示されます。

どんなアイデアがありますか?

ありがとう

ベストアンサー1

そのsudoers行を削除してください!

これがデフォルトなので、誰かにアクセスできないと言う必要はありません。さらに、攻撃面がわずかな主要なセキュリティホールが開いています。次のコマンドは友達アカウントで実行できますuser

sudo -s

これでさえ、

cp /bin/sh mysh
chmod a+x mysh
sudo ./mysh

どちらの場合も、ルートシェルがあります。

また、無制限の実行権限を持つグループに友達のアカウントを追加しないでください。 (通常はこれまたはグループsudoです。)sudowheel


ちなみに、visudo過去に期待通りに編集した場合は、おそらく次のような警告が表示されたでしょう。/etc/sudoers

Warning: /etc/sudoers:37:122: Cmnd_Alias "DISABLE_SU" referenced but not defined
Warning: /etc/sudoers:37:122: Cmnd_Alias "DISABLE_SUDO" referenced but not defined

たぶんあなたはそれを定義しましたが、あなたの質問に言及されていません。これを修正しても、ここで説明されている問題は回避されません。


「と言及もありました。sudo su user会議でこのようなことをするとき...sudoオプションがないコマンドは権限rootを与えます。ルートになると、このコマンドを実行して友達のアカウントにアクセスできます。アカウントでコマンドを実行すると、友達のアカウントにアクセスするにはパスワードが必要です。アカウントであり、アカウントはファイルの権限を確認することです。su useruser/etc/sudoerssudosudo -s

おすすめ記事