Linux添加sftp用户并限制只能访问某个目录
Linux添加sftp用户并限制只能访问某个目录
Riv3n创建用户
新建一个用户
1 | useradd sftpuser |
设置密码
1 | passwd sftpuser |
设置配置文件
先备份一下
1 | cp sshd_config sshd_config.back |
注意这里的文件名是 sshd_config 不是 ssh_config
1 | nano /etc/ssh/sshd_config |
注释这一行,不然跟底下添加的冲突
1 | #Subsystem sftp /usr/libexec/openssh/sftp-server |
然后新指定sftp类型为系统自带的 internal-sftp
1 | Subsystem sftp internal-sftp |
然后我们新增一个用户的设置
1 | #这行用来匹配用户 |

赋权
注:必须用 root 账户进行赋权,不用 root 用户赋权 sftp 登陆不上
1 | chown root.root /home/sftp /home/sftp/sftpuser |
给用户创建上传下载的文件夹
上面操作完sftp用户就可以登陆了
1 | sftp -P remote_port user_name@remote_server_address[:path] |
但是我们会发现不能上传,需要我们新建一个有上传权限的子目录
1 | cd /home/sftp/sftpuser |
其中,upload目录为可读写权限,sftp用户可以上传
download目录就只有读权限,可以下载但是不能上传
重启
1 | systemctl restart sshd |



