Sles

如何將 UNIX 使用者限制為只能使用給定的腳本?

  • October 29, 2013

如何限制 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 問答

引用自:https://unix.stackexchange.com/questions/98064