1 创建用户, 此用户不可使用SSH登录
useradd -s /sbin/nologin -M user1
useradd -s /sbin/nologin -M user2
useradd -s /sbin/nologin -M user3
useradd -s /sbin/nologin -M user4
2 设定 SFTP根目录
vim /etc/ssh/sshd_config
......
Match User user1 # 指定 SFTP 用户
ChrootDirectory /FTPFile # 指定 SFTP 目录
ForceCommand internal-sftp
Match User user2
ChrootDirectory /FTPFile/FromSFA
ForceCommand internal-sftp
Match User user3
ChrootDirectory /FTPFile
ForceCommand internal-sftp
Match User user4
ChrootDirectory /FTPFile
ForceCommand internal-sftp
......
重启 sshd
systemctl restart sshd
3 设置目录权限
SFTP 目录的权限设定有两个要点:
- SFTP 目录往上到系统根目录为止, 目录拥有者都只能是root
- SFTP 目录往上到系统根目录为止, 都不可以具有群组写入权限
- SFTP 目录往上到系统根目录为止, 权限必须是
755
, 往下权限是770
例如
:
/FTPFile/FromSFA/
upload/data/2020/03/04
/FTPFile/FromSFA
权限必须是 755
upload/data/2020/03/04 权限应该是 770
这样比较合理
根目录授权
chmod 755 /FTPFile
子目录授权
chmod -R 770 /FTPFile/*