我想讓一個將 rbash 設定為其預設 shell 的使用者僅使用該命令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
su
您根本不需要移動可執行檔。您可以設定su
存取權限,以便只有一個使用者(和 root)能夠運行它。
從 root 使用者和檔案所在目錄執行以下命令su
。
首先將檔案擁有者設定為您要授予獨佔存取權限的使用者:
chown USER_NAME su
然後從除所有者之外的所有人中刪除 e(x)ecution 存取權限,即x
從 (o)ther 和 (g)group 中刪除權限:
chmod og-x su