在Linux系统中设置SFTP权限时,需要考虑以下几个要点:
useradd
命令创建专门用于SFTP的用户,并设置密码。/etc/ssh/sshd_config
文件,限制用户只能通过SFTP访问其主目录。例如,使用Match User
指令匹配特定用户,并通过ChrootDirectory
指令将其限制在主目录中。chown
和chmod
命令设置目录的所有者和权限。例如,用户的主目录权限应设置为755
,子目录权限应设置为750
。/etc/ssh/sshd_config
文件中,配置SFTP子系统、匹配用户、chroot目录、强制命令等。例如:Subsystem sftp internal-sftp
Match User sftpuser
ChrootDirectory /home/sftpuser
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo systemctl restart sshd
chmod -R g+s /data/projectname/projectname
setfacl -Rm d:g:groupname:rwx /data/projectname/projectname
/etc/ssh/sshd_config
文件中,添加或修改以下内容以启用详细的日志记录:Subsystem sftp internal-sftp -l VERBOSE -f AUTHPRIV
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
usermod
命令将用户添加到相应的组中。通过以上步骤,可以有效地设置和管理Linux系统中的SFTP权限,确保用户只能通过SFTP进行文件传输,并且不能访问其他敏感目录。在进行任何更改之前,请务必备份所有重要数据。