Sles
如何將 UNIX 使用者限制為只能使用給定的腳本?
如何限制 UNIX 使用者(除了 sudo!)只允許它以 root 身份執行腳本?
除了
sudo
我知道的唯一其他方法是使用 setuid。這是 Unix 內置的一種機制,您可以在磁碟上的程序上設置一些位,以便任何時候有人執行它,執行檔作為文件的所有者執行,而不是嘗試執行它的使用者。但此工具通常不適
#!/bin/...
用於頂部需要 shebang ( ) 的腳本或程序。如果文件啟用了此位,它將在文件系統中顯示如下:-rws------ 1 saml saml 3354099 Oct 28 16:07 someapp
您可以設置一個啟用此位的程序,如下所示:
$ chmod u+s someapp
但即使啟用了這個位,它也經常被忽略,並讓不明白這是設計使然的使用者發瘋。通常出於安全原因,不允許使用 shebang 的 shell 腳本或程序以這種方式執行。
手冊頁 (
credentials
&capabilities
) 涵蓋了其中的一些內容。所以一般來說,最好的選擇是使用
sudo
.相關 Unix 和 Linux 問答