複数のユーザーがリモートでログインするヘッドレスサーバーがあります。他のユーザーはsudoersファイルにないため、通過できませんsudo
。ただし、権限がsu
あるため-rwsr-xr-x
、ルートパスワードを無差別に代入する試みを防ぐことはできません。
ユーザーがルートパスワードを知っている場合は、とにかくシステムが破損する可能性があると主張するかもしれませんが、私はそうではないと思います。 OpenSSHは、他のユーザーがサーバーに物理的にアクセスできないようにPermitRootLogin no
構成されています。PasswordAuthentication no
私が知る限り、フル実行権限は、/usr/bin/su
ユーザーが自分のサーバーからrootアクセス権を取得しようとする唯一の方法です。
私をさらに混乱させることは、それがうまくいかないようです。su
何もせずにただ走ることができますが、sudo su
不便ではありません。
私は何かを見落としましたか?su
ただ歴史的な理由で公演ができる世界の許可はありますか?この権限を削除すると、まだ経験していない欠点はありますか?
答え1
何かを逃したイルカチュウの答え問題は、ルートに昇格させることは1つの特定の用途にすぎないということですsu
。 suの一般的な用途は、他のユーザーのログインアカウントで新しいシェルを開くことです。他のユーザーできるはいroot
(おそらく最も一般的に)、しかし、su
次のように仮定するために使用できます。どのローカルシステムで確認できるID。
たとえば、ユーザーとしてログインして報告されたが再現できない問題を調査しjim
たい場合は、ユーザーとしてログインして問題を引き起こすコマンドを実行しようとします。mike
mike
13:27:20 /home/jim> su -l mike
Password:(I type mike's password (or have him type it) and press Enter)
13:27:22 /home/mike> id
uid=1004(mike) gid=1004(mike) groups=1004(mike)
13:27:25 /home/mike> exit # this leaves mike's login shell and returns to jim's
13:27:29 /home/jim> id
uid=1001(jim) gid=1001(jim) groups=1001(jim),0(wheel),5(operator),14(ftp),920(vboxusers)
-l
オプションを使用すると、ログイン全体(ページsu
ごと)をシミュレートします。man
ただし、上記の操作を実行するにはmike
パスワードを知る必要があります。アクセス権があれば、sudo
パスワードなしでログインできますmike
。
13:27:37 /home/jim> sudo su -l mike
Password:(I type my own password, because this is sudo asking)
13:27:41 /home/mike>
要約すると、実行可能ファイルの権限がsu
表示されているのと同じsu
理由一般ツールシステムのすべてのユーザーが使用できます。
答え2
歴史的に(GNUではないユニークでは)そうでなかったか、少なくとも「wheel」というグループに属し、許可されていることを手動で確認しましたsu
。su
当時のアクセス制御に関するRMSのアイデアのため、GNUバージョンはそうではありませんでした。やり直しこの機能は次のとおりです。
Why GNU `su' does not support the `wheel' group
===============================================
(This section is by Richard Stallman.)
Sometimes a few of the users try to hold total power over all the
rest. For example, in 1984, a few users at the MIT AI lab decided to
seize power by changing the operator password on the Twenex system and
keeping it secret from everyone else. (I was able to thwart this coup
and give power back to the users by patching the kernel, but I wouldn't
know how to do that in Unix.)
However, occasionally the rulers do tell someone. Under the usual
`su' mechanism, once someone learns the root password who sympathizes
with the ordinary users, he or she can tell the rest. The "wheel
group" feature would make this impossible, and thus cement the power of
the rulers.
I'm on the side of the masses, not that of the rulers. If you are
used to supporting the bosses and sysadmins in whatever they do, you
might find this idea strange at first.
これについての詳細は、「wheel group rms」などを検索して見つけることができます。
答え3
ただし、権限が
su
あるため-rwsr-xr-x
、ルートパスワードを無差別に代入する試みを防ぐことはできません。
はい。一般的なLinuxシステムを想定すると、pam_unix.so
モジュールは失敗した認証の試行を約2秒遅らせますが、同時試行を防ぐことはできないと思います。
失敗した試みはもちろん記録されます。
Aug 16 22:52:33 somehost su[17387]: FAILED su for root by ilkkachu
パスワードを監視するシステムがある場合は、無差別パスワードクラッキングをログに目立つように表示する必要があります。信頼できないローカルユーザーがいる場合は、これを行う必要があります。ローカル専用特権の昇格の脆弱性は、信頼できないローカルユーザーが試す可能性があり、リモート特権の昇格よりも一般的です。
私をさらに混乱させることは、それがうまくいかないようです。
もちろん便利です。root
パスワードを知っていればレベルを上げることができます。
su
何もせずにただ走ることができますが、sudo su
不便ではありません。
sudo su
少し重複しています。他のユーザーとしてプログラムを実行できるように設計された2つのプログラムを使用する必要はありません。 1つだけで十分です。シェルを実行するには、sudo -i
or sudo -s
(またはなど)を使用してください。sudo /bin/bash
私は何かを見落としましたか?世界がsuを処刑することを許したのは歴史的な理由だけです。
探す。まあ、すべてのシステムにsudo
代替があるわけではなく、あなたがこれを歴史的だと思うかもしれません。
この権限を削除すると、まだ経験していない欠点はありますか?
実際ではありません。私が知っているわけではありません。私考える一部のシステムは、su
特定のグループ(" wheel
")のメンバーのみを実行できるように設定されています。sudo
必要に応じてこれを行うこともできます(chown root.sudousers /usr/bin/sudo && chmod 4710 /usr/bin/sudo
)。
または、必要でない場合は、1 つまたは両方のプログラムを削除できます。しかし、Debianではパッケージに付属しているので、パッケージ全体を削除するのはおそらく良い考えではありませんsu
。login
(こうしてペアをなしてlogin
一緒su
にいるのは少し歴史的なようです。)
答え4
suは、誰でも実行できるように、世界中で実行可能でなければなりません。多くのシステムでパスワードを提供し、他のユーザーに変更するために使用できます。
誰かがルートパスワードを無差別に代入することを心配している場合は、この機能を無効にできます。 (ハッシュを無効にするため、指定されたパスワードと一致できません)
合意があるかどうかはわかりませんが、rootとして直接ログインできること自体がセキュリティ上の問題だと思います。