Linux下SFTP用户权限设置指南

泥小猴系统教程网 2025-05-06 16:43:24 33阅读

Linux下SFTP用户权限设置指南

本文将指导您如何在Linux系统中为SFTP用户设置权限,确保安全访问。

**步骤一:创建SFTP用户组**首先,创建一个专门用于SFTP用户的组:
$ groupadd sftpusers
登录后复制 **步骤二:创建SFTP用户**接下来,创建一个SFTP用户,并将其添加到`sftpusers`组。关键是将用户的shell设置为`/bin/false`,禁止其直接登录shell:
$ useradd -s /bin/false -G sftpusers test
登录后复制 **步骤三:配置sshd_config**编辑`/etc/ssh/sshd_config`文件,找到`Subsystem`配置项,将其修改为:
Subsystem sftp internal-sftp
登录后复制

在文件末尾添加以下配置,限制sftpusers组的用户只能访问其主目录:

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
登录后复制

保存并关闭文件。

**步骤四:设置主目录权限**将`test`用户主目录的所有者修改为`root`:
chown root ~test
登录后复制 **步骤五:重启sshd服务**重启sshd服务使配置生效:
$ systemctl restart sshd
登录后复制 **步骤六:测试用户连接**尝试使用`test`用户进行SFTP连接:
$ sftp test@localhost
登录后复制

您应该只能访问test用户的主目录。 尝试使用SSH登录将会被拒绝。

常见问题排查::

如果连接时出现“Write failed: Broken pipe”或“Couldn't read packet: Connection reset by peer”错误,这通常是由于ChrootDirectory权限问题导致的。 请确保SFTP用户主目录的所有者为root,权限设置为750或755。

文章版权声明:除非注明,否则均为泥小猴系统网网络收集而来,如有任何问题请联系站长。

相关阅读

目录[+]