在Debian系统中,SFTP(SSH File Transfer Protocol)的权限设置对于确保系统安全至关重要。以下是一些建议,以帮助您合理设置SFTP权限:
使用专用用户组:
创建一个名为sftp_users
的专用用户组,并将所有需要访问SFTP的用户添加到此组中。这样做可以更方便地管理权限。
sudo groupadd sftp_users
创建专用SFTP用户:
为每个需要访问SFTP的用户创建一个专用账户,并将其添加到sftp_users
组中。不要将这些用户的默认shell设置为root,而是使用/bin/false
或/usr/sbin/nologin
,以防止他们通过SSH登录。
sudo useradd -m -G sftp_users -s /bin/false your_username
设置用户主目录权限:
确保用户主目录的权限设置正确,以便只有该用户和root用户可以访问。将主目录的所有者设置为相应的用户,并将组设置为sftp_users
。此外,禁止其他用户访问这些目录。
sudo chown your_username:sftp_users /home/your_username
sudo chmod 750 /home/your_username
配置SSH和SFTP:
编辑/etc/ssh/sshd_config
文件,以限制SFTP用户的访问权限。在文件末尾添加以下内容:
# Limit SFTP users to their home directories
Match Group sftp_users
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这将限制sftp_users
组的成员只能访问其主目录,并禁止TCP和X11转发。
重启SSH服务:
保存更改后,重启SSH服务以使设置生效。
sudo systemctl restart ssh
遵循以上建议,您可以确保Debian系统上的SFTP权限设置既安全又易于管理。