SFTP (SSH File Transfer Protocol) 是一种安全的文件传输协议,基于SSH协议。以下是设置SFTP用户权限的详细步骤:
sudo groupadd sftpusers
sudo useradd -G sftpusers -s /bin/false username
sudo passwd username
编辑SSH配置文件 /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
找到并修改或添加以下内容:
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory /var/sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo mkdir -p /var/sftp/username
sudo chown root:root /var/sftp/username
sudo chmod 755 /var/sftp/username
sudo mkdir /var/sftp/username/files
sudo chown username:sftpusers /var/sftp/username/files
sudo chmod 755 /var/sftp/username/files
sudo systemctl restart sshd
使用 chroot
确保用户只能访问指定目录
sudo chmod -R 755 /var/sftp/username/files
sudo chmod -R 775 /var/sftp/username/files
在 sshd_config
中添加:
ForceCommand internal-sftp -l INFO
sftp username@localhost
/var/sftp
及其子目录的所有者为 root:root
755
/bin/false
或 /usr/sbin/nologin
)/var/log/auth.log
监控SFTP活动通过以上设置,您可以安全地控制SFTP用户的访问权限,确保文件传输的安全性。