搭建sftp文件服务器
Admin
网络
点击:100 次
搭建一个sftp文件存储服务器,有如下要求:
1.只允许使用sftp登录,禁止ssh登录 2.sftp用户登录只能在自己的home目录活动 3.多用户登录,且互不可见
编辑配置文件
vim /etc/ssh/sshd_config Subsystem sftp internal-sftp # 注销Subsystem sftp /usr/lib/openssh/sftp-server这行 # 因为sshd进程整合了internal-sftp,使用internal-sftp就无须再起新的进程,性能好 Match group sftp # 以下选项只针对sftpgroup的用户生效,所以要放在文件的最下面,以免乱入sshd的其他配置 ChrootDirectory %h # 限制sftp用户只能在自己的home目录活动 X11Forwarding no # 禁止图形界面转发 AllowTcpForwarding no # 禁止tcp转发 ForceCommand internal-sftp # 强制使用sftp协议运行的命令,次此选项限制了sftp用户,使用ssh协议登录

新增sftp组
groupadd sftp
新增sftp用户总目录sftpdata
mkdir /sftpdata
新增sftp用户
useradd -s /sbin/nologin -d /sftpdata/sftp01 -g sftp sftp01 passwd sftp01
此时登录,会报错如图

因为我们使用ChrootDirectory来限制sftp用户的活动目录
这要求sftp01目录属主必须是root用户,且权限最好是755
chown root. /sftpdata/sftp01 chmod 755 /sftpdata/sftp01
此时可以登录,但是没有任何权限,必须新建个属主是sftp01的目录才可以正常操作
mkdir /sftpdata/sftp01/upload chown sftp01. /sftpdata/sftp01/upload
此时一个sftp用户已经可以正常使用了
新增一个sftp02用户
useradd -s /sbin/nologin -d /sftpdata/sftp02 -g sftp sftp02 passwd sftp02 chown root. /sftpdata/sftp02 chmod 755 /sftpdata/sftp02 mkdir /sftpdata/sftp02/upload chown sftp02. /sftpdata/sftp02/upload