linux安装sftp
1、创建用户及用户组
创建组
groupadd sftp
cat /etc/group
创建用户
useradd -g sftp -s /bin/false wlsftp
cat /etc/passwd
passwd wlsftp
2、创建文件夹作为sftp用户的根目录
// 创建用户的根目录文件夹,若有其他用户sftpadmin,则mkdir -p /sftp/sftpadmin
mkdir -p /sftp/wlsftp
// 将文件夹设置为用户wlsftp的根目录
usermod -d /sftp/wlsftp wlsftp
cat /etc/passwd
3、修改sshd_config
3.1、注释Subsystem sftp /usr/libexec/openssh/sftp-server(若不注释,可以通过"cd / "看到系统所有文件)
注释这行
# Subsystem sftp /usr/libexec/openssh/sftp-server
3.2、增加配置
下面增加一下内容:
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /sftp/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Match Group sftp
:匹配sftp组的用户,如果有多个组,用逗号分隔。也可以使用"Match User wlsftp"匹配用户,多个用户之间也是用逗号分隔。
ChrootDirectory /sftp/%u
:将用户的根目录指定到/u02/sftp/%u,%u代表用户名,%h表示用户根目录。
ForceCommand internal-sftp
:指定sftp命令。
X11Forwarding no
:是否允许用户可以使用端口转发
4、修改sftp用户目录的权限
chown root:sftp /sftp/wlsftp
chmod 755 /sftp/wlsftp
5、创建用户sftp可写入的目录,并授权
// 由于sshd_config配置中指定了根目录,根目录无法写入,因此要创建一个用于上传文件的目录。
// 目录所有者为wlsftp,有写入权限;所有组为sftp,无写入权限。
mkdir /sftp/wlsftp/upload
chown wlsftp:sftp /sftp/wlsftp/upload
chmod 755 /sftp/wlsftp/upload
修改SELINUX=disabled,否则重启sshd会提示权限不够。
7、重启ssh服务
8、连接验证
sftp -oPort=22 wlsftp@ 127.0 .0 .1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!