rbash をデフォルトのシェルとして設定したユーザーが、コマンド のみを使用するようにしたいですsu
。ユーザーのホーム ディレクトリにフォルダー「bin」を作成し、バイナリ su (/bin/su) をこのフォルダーにコピーしました。次に、このユーザーのパスを に設定しました$HOME/bin
が、su を使用すると、別のアカウントに切り替えることができません。
su は、この場合ブロックされる他のバイナリに依存していますか? su 使用時のエラーは、パスワードが間違っている場合に発生するエラーと同じです。 su は、シャドウ ファイルを表示するために cat またはこれに類似したものを使用しますか?
他のユーザーに su できるようにするには、どのバイナリをユーザーに提供する必要がありますか?
binディレクトリ:
/home/user/bin# ls -al
total 68
drwxr-xr-x 2 root root 4096 Aug 21 19:32 .
drwxr-xr-x 4 root root 4096 Aug 20 22:44 ..
-rwxr-xr-x 1 root root 59424 Aug 20 21:32 su
答え1
実行可能ファイルを移動する必要はまったくありません。 1 人のユーザー (および root) だけが実行できるようにアクセス権su
を設定できます。su
ルート ユーザーから、ファイルが配置されているディレクトリから次のコマンドを実行しますsu
。
まず、排他的アクセスを許可するユーザーにファイル所有者を設定します。
chown USER_NAME su
次に、所有者以外の全員から実行アクセスを削除します。つまり、x
(o)other と (g)roup から権限を削除します。
chmod og-x su