【Linux手动搭建Sftp,创建用户、用户组及删除用户】

SFTP (Secure File Transfer Protocol)是一种安全的文件传输协议,基于SSH协议进行加密传输。在进行文件传输时,SFTP客户端通过SSH协议与服务器进行连接,并且通过使用公钥和/或密码进行身份验证,从而确保传输的安全性。SFTP客户端可以使用多种工具进行连接,例如OpenSSH、FileZilla和WinSCP等等。

删除用户并重新创建

# 如果已有相同用户,删掉!
userdel sftpuser # 删除sftpuser这个用户
rm -rf /home/sftpuser # 删除sftpuser这个用户的目录
rm -rf /var/spool/main/sftpuser # 删除系统自动生成的邮箱

#新建sftp组、具体用户 sftpuser

# 新建组
groupadd sftp
# 新建用户
adduser sftpuser
# 添加用户且只能通过sftp登录,不能通过ssh连接
useradd -G sftp -s /sbin/nologin sftpuser
# 输入命令 设置密码 连续输入两次相同密码即可
passwd sftpuser 

修改ssh配置文件

# 编辑sshd_config 文件
vi /etc/ssh/sshd_config
# 找到Subsystem sftp /usr/libexec/openssh/sftp-server 
# 用 # 注释掉 并添加 一行
Subsystem sftp internal-sftp

## 在末尾加入一下配置信息
#用chroot将用户的根目录指定到sftpuser用户目录
#这样用户 就只能在用户目录下活动。也可用%u,%u代表用户名
Match User sftpuser
ChrootDirectory /data/sftp/sftpuser
ForceCommand    internal-sftp
AllowTcpForwarding no
X11Forwarding no

设定chrootDirectory

#设定Chroot目录权限(必须),用户目录以及组目录以及数据根目录都要设置为755 权限
#不要太高,否则可能报Permission denied的异常 

mkdir -p /data/sftp/sftpuser
chown root:root /data/sftp/sftpuser
chmod 755 /data -R

建立SFTP用户登入后可写入的目录

mkdir /data/sftp/sftpuser/workFile
chown bysftp /data/sftp/sftpuser/workFile
#给workFile以及下级文件授权777,否则可能报Permission denied的异常
chmod 777 /data/sftp/sftpuser/workFile -R 

重启ssh

service sshd restart

现在你可以使用工具 FileZilla、Transmit等 使用 sftpuser 和设置的密码进行访问啦;

也可以直接在命令行 使用 sftp 你的ip地址

你可能感兴趣的:(linux,运维,服务器,centos)