Ssh

如何添加僅有權訪問特定文件夾的 ssh 使用者?

  • September 29, 2015

如何添加僅有權訪問特定文件夾的 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 訪問特定文件夾,您可以執行以下操作。

  1. 向系統添加一個新組,例如“sftponly”。
  2. 在您的系統上添加應該對該組具有受限權限的任何使用者。你也可以給他們像/bin/true這樣的受限shell,但這不是必需的。
  3. /etc/ssh/sshd_config使用這些行更改您的 ssh 配置文件(通常)
子系統 sftp internal-sftp

匹配組 sftponly
Chroot 目錄 %h
AllowTCPForwarding no
X11轉發號
ForceCommand 內部 sftp

這將啟動 SSH 內的 sftp 子系統,並強制該系統組的成員在登錄時僅使用該系統。它還會將它們 chroot 到他們的主目錄。您也可以將其更改為他們的主目錄的子文件夾,ChrootDirectory %h/musteri_sftp這樣他們就無法查看其餘的系統文件,而是直接登錄到他們的主文件夾的特殊子文件夾。

祝你好運。

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