您的位置:首页 > 运维架构 > Linux

Linux系统使用SFTP服务创建用户并限定目录访问权限

2018-02-09 16:00 1066 查看

1. 首先使用root用户初始化用户根目录以及数据文件目录

mkdir /sftp_file/user1


注:(sftp_file为该服务器上所有sftp用户的根目录,user1目录为当前创建用户的根目录)

2.文件数据目录可在本地创建好批量传输到user1目录下

mkdir /sftp_file/user1/file1


注:也可以使用root用户使用命令创建

3.创建user1用户名

useradd -s /sbin/nologin -M user1


4.设置密码

passwd user1


5. 编辑sshd_config

vim /etc/ssh/sshd_config

#sftp 配置
Subsystem sftp internal-sftp #指定使用sftp服务使用系统自带的internal-sftp
Match User user1  #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory /sftp_file/user1 #用chroot将只用用户的根目录
Match User user2  #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory /sftp_file/user2 #用chroot将只用用户的根目录
X11Forwarding no  #如果允许用户端口转发就注释掉
AllowTcpForwarding no #如果允许用户端口转发就注释掉
ForceCommand internal-sftp #指定sftp命令


6.重启sshd服务

service sshd restart


注:显示 Redirecting to /bin/systemctl restart sshd.service 也代表重启服务成功

7.设置user1用户的根目录访问权限

chown user1:user1 /sftp_file/user1/*
chmod 777 /sftp_file/user1/*


8.目录拥有者都只能是root

chown root:root /sftp_file/user1
chmod 755 /sftp_file/user1


以上配置好后使用FTP客户端连接工具,选择SFTP加密传输协议连接测试文件上传下载。

注:

1.如创建第二个用户(如:user2),重复操作1-4步骤,第5步骤修改sshd_config文件时只需增加

Match User和ChrootDirectory的属性配置,然后进行6-8步骤

2.此用户创建方式为SFTP文件传输方式,端口22,用户只能对如user1目录下的文件拥有权限

3.查看seLinux是否关闭,命令:/usr/sbin/sestatus

关闭的状态:

SELinux status: disabled

开启的状态:

SELinux status: enforcing

如果未关闭,修改selinux配置文件,命令:vim /etc/selinux/config

SELINUX=enforcing 修改为 SELINUX=disabled

4.查看ssh日志

编辑/etc/ssh/sshd_config文件,将LogLevel设置为 INFO 或 DEBUG,重启了sshd服务

查看日志:tail -f /var/log/secure
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SFTP Linux
相关文章推荐