如何授予普通用戶對特定目錄的有限權限並在沒有 sudo 的情況下運行文件

如何授予普通用戶對特定目錄的有限權限並在沒有 sudo 的情況下運行文件

抱歉我的表達,我希望我盡可能清楚地描述了我的問題。

使用紅帽系統。目前我在系統中擁有一個超級用戶,我必須做sudo python cuckoo.py才能運行這個python程序,並且它在一個名為“cuckoo”的特定目錄中讀取和寫入。

現在我想授予普通用戶訪問此“cuckoo.py”以及工作目錄的權限。但同時我也不想授予該用戶超級用戶權限,因為它們可能會損壞我的系統。

那麼如何才能讓一般使用者直接呼叫python cuckoo.py而不會收到「Permission Denied」的錯誤呢?

任何幫助和評論表示讚賞。如果我有一些非常糟糕的單字短語導致不清楚,也請指出,我會盡力更詳細地解釋。

謝謝!

編輯:也許我的話不太清楚......我不想將這個普通用戶包含在“root”中。目前我已經建立了一個群組,並將這個普通使用者加入到該群組中,目錄權限設定為755 cuckoo.py。所以我想知道如何讓root和這個群組都有讀取、寫入和執行的權限?

答案1

如果腳本需要以 root 身分執行的唯一原因是讀取/寫入您的特定目錄,則有兩種方法可以解決此問題(允許普通使用者成功執行腳本):

  1. 建立一個群組,使您正在使用的資料夾歸該群組所有,並將使用者新增至該群組。
sudo groupadd <groupname>
sudo usermod -a -G <groupname> <username>
sudo chgrp -R <groupname> <folder>
  1. 只需更改資料夾的全域權限(如果您不希望電腦上的任何使用者能夠存取您的cuckoo資料夾,則不建議這樣做)。
sudo chmod -R 664 ./cuckoo

此權限允許擁有者、群組和世界讀寫

答案2

看來我可能誤解了這個問題。如果腳本需要以 root 身分執行,並且您希望普通使用者能夠執行它,您可以按照在這個 AskUbuntu 問題。

請記住,您需要在此文件中嚴格鎖定權限才能確保安全。

使文件歸 root 和群組 root 所有:

sudo chown root.root <my script>

現在設定黏性,但使其對所有人可執行並且只能由 root 寫入:

sudo chmod 4755 <my script>

請記住,如果此腳本允許任何文件輸入或編輯,這也將以 root 身份完成。

SetUID 位元使腳本或二進位檔案始終以檔案/二進位檔案的擁有者執行,而此類二進位檔案的範例則是「passwd」。

相關內容