linux 快速搭建sftp 服务

一、添加用户组sftp

groupadd sftp
cat /etc/group

二、创建用户mysftp

// 创建用户到用户组,并禁止登录
useradd -g sftp -s /bin/false mysftp

// 查看用户
cat /etc/passwd

// 修改密码
passwd mysftp

三、创建文件夹作为用户mysftp的根目录

// 创建用户的根目录文件夹
mkdir -p /data/eversec/data/evercm/ifdata/ftpRoot

// 将文件夹设置为用户mysftp的根目录
usermod -d /data/eversec/data/evercm/ifdata/ftpRoot mysftp

cat /etc/passwd

四、修改sshd_config配置

vi /etc/ssh/sshd_config

1)注释Subsystem sftp /usr/libexec/openssh/sftp-server(若不注释,可以通过"cd / "看到系统所有文件)


2)添加配置

# sftp
Subsystem sftp internal-sftp
Match  User sftp
ChrootDirectory /data/eversec/data/evercm/ifdata/ftpRoot
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no

  • Match Group sftp:匹配sftp组的用户,如果有多个组,用逗号分隔。也可以使用"Match User mysftp"匹配用户,多个用户之间也是用逗号分隔。
  • ChrootDirectory /data/eversec/data/evercm/ifdata/ftpRoot:将用户的根目录指定到/data/eversec/data/evercm/ifdata/ftpRoot
  • ForceCommand internal-sftp:指定sftp命令。
  • X11Forwarding no:是否允许用户可以使用端口转发。

五、修改用户mysftp的根目录,让其属于root

chown root:sftp /data/eversec/data/evercm/ifdata/ftpRoot
chmod 755 /data/eversec/data/evercm/ifdata/ftpRoot

六、创建用户mysftp可写入的目录,并授权


// 由于sshd_config配置中指定了根目录,根目录无法写入,因此要创建一个用于上传文件的目录。
// 目录所有者为mysftp,有写入权限;所有组为sftp,无写入权限。
 

// 由于sshd_config配置中指定了根目录,根目录无法写入,因此要创建一个用于上传文件的目录。
// 目录所有者为mysftp,有写入权限;所有组为sftp,无写入权限。
mkdir /data/eversec/data/evercm/ifdata/ftpRoot/commandInfo
chown mysftp:sftp /data/eversec/data/evercm/ifdata/ftpRoot/commandInfo
chmod 755 /data/eversec/data/evercm/ifdata/ftpRoot/commandInfo

七、关闭Selinux策略

vim /etc/selinux/config

修改SELINUX=disabled,否则重启sshd会提示权限不够。

八、重启ssh服务

service sshd restart

九、连接验证

sftp mysftp@127.0.0.1

 sftp安装已经完成。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值