搭建一个sftp文件存储服务器,有如下要求:

1.只允许使用sftp登录,禁止ssh登录 2.sftp用户登录只能在自己的家目录活动 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用户只能在自己的家目录活动 X11Forwarding no # 禁止图形界面转发 AllowtcpForwarding no # 禁止tcp转发 ForceCommand internal-sftp # 强制使用sftp协议运行的命令,次此选项限制了sftp用户,使用ssh协议登录

sftp的配置文件(搭建sftp文件服务器)(1)

新增sftp组

groupadd sftp

新增sftp用户总目录sftpdata

mkdir /sftpdata

新增sftp用户

useradd -s /sbin/nologin -d /sftpdata/sftp01 -g sftp sftp01 passwd sftp01

此时登录,会报错如图

sftp的配置文件(搭建sftp文件服务器)(2)

因为我们使用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


分享一些资料吧,最近买了一些极客时间 网易云课堂的vip课程。有开发,有运维,有前端,有虚拟化,有云计算,还有文学,育儿,还有大保健,杂七杂八的。

加我V905883566,组个群,无套路,免费分享。

,