Ssh
如何添加僅有權訪問特定文件夾的 ssh 使用者?
如何添加僅有權訪問特定文件夾的 ssh 使用者?
useradd -d /var/www/xyz.com.tr/musteri -s /bin/bash -g sshd musteri
我創建了一個名為
musteri
. 我設置了它的主文件夾和組。所以,我想將musteri
使用者集成到“/var/www/xyz.com.tr/musteri”中。我不希望它訪問另一個文件夾。
聽起來您希望您的 müşteriler 擁有對文件夾的文件傳輸訪問權限,而無需實際提供 shell。這是一件好事,因為正如binfalse 指出的那樣,給人們提供有限訪問權限的 shell 是很棘手的,因為 shell 需要訪問分散在系統上的各種東西才能執行。
為了讓 SFTP 訪問特定文件夾,您可以執行以下操作。
- 向系統添加一個新組,例如“sftponly”。
- 在您的系統上添加應該對該組具有受限權限的任何使用者。你也可以給他們像/bin/true這樣的受限shell,但這不是必需的。
/etc/ssh/sshd_config
使用這些行更改您的 ssh 配置文件(通常)子系統 sftp internal-sftp 匹配組 sftponly Chroot 目錄 %h AllowTCPForwarding no X11轉發號 ForceCommand 內部 sftp
這將啟動 SSH 內的 sftp 子系統,並強制該系統組的成員在登錄時僅使用該系統。它還會將它們 chroot 到他們的主目錄。您也可以將其更改為他們的主目錄的子文件夾,
ChrootDirectory %h/musteri_sftp
這樣他們就無法查看其餘的系統文件,而是直接登錄到他們的主文件夾的特殊子文件夾。祝你好運。