【linux】使用 sftp 替换 vsftpd

您所在的位置:网站首页 linux里新建文件 【linux】使用 sftp 替换 vsftpd

【linux】使用 sftp 替换 vsftpd

2023-07-07 07:05| 来源: 网络整理| 查看: 265

为什么使用 sftp?

1. 基于 ssh 协议,保证数据安全性

2. 大多数防火墙不会阻止 ssh 协议

3. 完全基于文件系统权限对用户进行管理

4. 配置比 vsftpd 简单

另外,我在集成商工作服务于各大甲方,在厦门的一些企业,如:金融财务公司、银行等等绝大多数已经不再使用 ftp 协议来传输文件,转而采用 sftp 进行多个单位之间的文件传输。

需求如下

1. ftp 工作目录设置为 /sftp 并且所有用户被锁定在该目录下无法切换出去

2. 所有 sftp 用户登录后会默认位于为 /sftp//home 目录下,并且用户没有权限进入其他用户的目录

3. 设置共享目录为 /sftp/public 允许所有 ftp 用户上传文件,但不能删除其他人的文件

4. 设置团队协作目录为 /sftp/teamwork 允许所有 ftp 用户在里面上传、修改、删除文件

5. 限制所有使用 sftp 登录的用户无法登录到 bash 

配置步骤

▶ 1. 创建用户组:sftpusers 并创建2个用户:ftpuser01 和 ftpuser02 加入到该用户组

*注意:所有要使用 sftp 登录的用户都要加入到该组,才能实现 "锁定目录" 功能。

# groupadd sftpusers # adduser ftpuser01 -G sftpusers # adduser ftpuser02 -G sftpusers

▶ 2. 为这两个用户配置密码,该密码用于 sftp 登录

# echo "123456" | passwd --stdin ftpuser01 Changing password for user ftpuser01. passwd: all authentication tokens updated successfully. # echo "123456" | passwd --stdin ftpuser02 Changing password for user ftpuser02. passwd: all authentication tokens updated successfully

▶ 3. 为这两个用户创建 sftp 目录

# mkdir -p /sftp/ftpuser01/home # mkdir -p /sftp/ftpuser02/home

▶ 4. 为这两个用户的 sftp 目录配置对应的权限,将所属用户和组改为对应用户名,然后修改权限为:770,这样其他用户就没有权限访问自己的目录

# chown -R ftpuser01:ftpuser01 /sftp/ftpuser01 # chown -R ftpuser02:ftpuser02 /sftp/ftpuser02 # chmod -R 770 /sftp/ftpuser01 # chmod -R 770 /sftp/ftpuser02

▶ 5. 修改 sshd 配置文件 /etc/ssh/sshd_config 在该文件的最后几行,修改并添加以下内容

#Subsystem sftp /usr/libexec/openssh/sftp-server



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3