如何添加仅有权访问特定文件夹的 ssh 用户?

Cel*_*l-o 18 users ssh permissions account-restrictions

如何添加仅有权访问特定文件夹的 ssh 用户?

useradd -d /var/www/xyz.com.tr/musteri  -s /bin/bash -g sshd musteri
Run Code Online (Sandbox Code Playgroud)

我创建了一个名为musteri. 我设置了它的主文件夹和组。所以,我想将musteri用户集成到“/var/www/xyz.com.tr/musteri”中。我不希望它访问另一个文件夹。

Cal*_*leb 20

听起来您希望您的 mü?teriler 具有对文件夹的文件传输访问权限,而无需实际为它们提供外壳。这是一件好事,因为正如binfalse 所指出的,给人们提供有限访问权限的 shell 是很棘手的,因为 shell 需要访问分散在系统上的各种东西才能运行。

为了让 SFTP 访问特定文件夹,您可以执行以下操作。

  1. 向系统添加一个新组,例如“sftponly”。
  2. 在您的系统上添加任何应该对该组具有受限权限的用户。您也可以为他们提供像 /bin/true 这样的受限 shell,但这不是必需的。
  3. /etc/ssh/sshd_config使用这些行更改您的 ssh 配置文件(通常)
    子系统 sftp internal-sftp

    仅匹配组
        Chroot 目录 %h
        AllowTCPForwarding 否
        X11转发无
        ForceCommand 内部-sftp

这将激活 SSH 内的 sftp 子系统,并强制该系统组的成员在登录时仅使用该系统。它还会将他们 chroot 到他们的主目录。您可以将其更改为他们的主目录的子文件夹以及类似的内容,ChrootDirectory %h/musteri_sftp以便他们无法设置其余的系统文件,但会直接登录到其主文件夹的特殊子文件夹。

可莱凝胶。