
我需要在Linux系統中建立一個用戶,該用戶具有安裝程式的權限,但沒有存取其他用戶目錄的權限。
我嘗試這樣做:
# Create restricted user user
adduser --home /home/restricted_user restricted_user
# Edit normal user dir permissions
chmod -R 700 /home/normal_user/
# Add restricted user to sudoers in order to allow program installation
sudo adduser restricted_user sudo
然後,我嘗試:
su restricted_user
sudo ls /home/normal_user
最後,如果受限使用者使用 sudo 執行此操作,則他可以存取普通使用者的目錄
我該如何實施此限制?
答案1
不要將用戶添加到sudo
團體,不要授予他們一般 root 存取權限。編輯/etc/sudoers
並指定使用者可以以 root 身分執行的一小組可執行檔。例子:
# in sudoers file
restricted_user ALL = (root) /usr/bin/apt-get
restricted_user ALL = (root) /sbin/reboot
筆記:
- 取決於您的 Linux:
apt-get
/apt
,dpkg
,opkg
,pacman
,yum
, … - 使用完整路徑。
- 正確的編輯方法
sudoers
是visudo
。 man 5 sudoers
有關語法的更多信息,請參閱 參考資料。- 當建立更複雜的規則時,請記住它們訂單事宜。
請記住,可以安裝任意程式的堅定使用者能夠準備並安裝設定值版本ls
或「升級」sudo
,將授予他們 root 存取權限,無論/etc/sudoers
.或提供並安裝一個在安裝時執行任意操作的套件(可能沒有實際安裝任何東西)。要防止這種情況可能並不容易。