限制linux下的用戶訪問

限制linux下的用戶訪問

我正在創建一個具有以下詳細資訊的新用戶:

useradd -d /var/www/html/testuser.com -G users testuser

我繼續為用戶創建一個新密碼並嘗試透過 SSH 登錄,我登陸 /var/www/html/testuser.com 但我仍然可以返回目錄。我想限制使用者權限,以便他們只能管理 testuser.com 和 sibblings 內的內容(這樣他們就可以執行所有正常操作),我不希望使用者能夠導航回目錄並有效地擁有 root 權限使用權。

答案1

使用者並不是因為可以瀏覽其他目錄而「有效地擁有根訪問權限」。所有具有 shell 存取權限的使用者都可以瀏覽軟體安裝 — 這畢竟不是機密信息,因為它可以從任意數量的網站下載。如果您不想向所有 shell 使用者公開某些目錄,請給予他們適當的限制性權限。

如果您想要第二層安全,您可以對帳戶進行更多限制。如果您只想允許這些使用者瀏覽、上傳和下載 下的文件/var/www/html/testuser.com,那麼就不要給他們 shell 帳戶,給他們一個只能使用 SFTP 的受限帳戶。您可以在中指定特定帳戶的選項sshd_config與一個Match塊。 (將其放在文件末尾,因為該Match指令擴展到下一個Match指令或文件末尾。)

Match User testuser
    Force-command internal-sftp
    ChrootDirectory /var/www/html/testuser.com

如果您希望允許使用者使用更多命令,例如 scp 和 rsync,但不允許一般 shell 訪問,請使用RSSH或者史波利作為其帳戶上的 shell,並安裝和配置 rssh 或 scponly 以指定您要允許的命令(請參閱SCP 需要外殼嗎?)。

如果您想提供一個僅允許執行少數白名單程式的 shell 帳戶,請將其 shell 設定為受限外殼。請注意,這些使用者將能夠根據檔案權限存取其主目錄以外的檔案。

如果您想提供完整的 shell 存取權限,但使除主目錄之外的所有內容都不可見,那麼您需要建立某種形式的監獄。最弱的監獄形式是chroot監獄,它將使用者限制為目錄樹的一個分支。將使用者限制為 chroot 與ChrootDirectory在 中指定一樣簡單sshd_config;但是,由於使用者無法退出監獄,因此目錄必須包含使用者將使用的所有程式及其資料。您可以使用綁定安裝使一些目錄(例如/usr)在監獄內可見。

答案2

看看man 5 sshd_config這個選項ChrootDirectory

答案3

您可以更改權限,/var/www/html以便只有 root 可以查看/修改檔案/資料夾。

喜歡:

chown root:root  /var/www/html

相關內容