Linux中创建sftp用户并限制目录权限

您所在的位置:网站首页 linux系统创建用户和目录 Linux中创建sftp用户并限制目录权限

Linux中创建sftp用户并限制目录权限

2024-07-14 18:25| 来源: 网络整理| 查看: 265

注意两点:

一是禁止该用户通过ssh登录,二是不需要创建家目录。家目录简单来说,就是在/home下的用户命令,默认每个用户在/home中都是有与用户名一样的文件夹。

1.创建组

groupadd sftp

2. 创建用户

useradd -g sftp -s /sbin/nologin sftpuser

 3. 设置密码

passwd sftpuser

 4. 创建成功

提示:passwd :all authentication tokens updated successfully。 

5. 创建目录 

mkdir /home/sftp

6. 目录用户

chown root:sftp /home/sftp

7. 目录权限(注:该目录权限最大为755,设置成777会报错)

chmod 755 /home/sftp

8. 创建用户sftpuser根目录,目录名为用户名

mkdir /home/sftp/sftpuser

9. 设置sftpuser目录权限

 chown -R sftpuser:sftp /home/sftp/sftpuser

(注:设置用户sftpuser,如果设置拥有者为root,表示该目录sftpuser没有权限读写,在该目录下建立其它目录,赋权给sftpuser用户读写权限;

 chmod -R 755 /home/sftp/sftpuser

 注:这里的目录sftpuser  权限也只能是755,否则无法限制目录。

配置sshd_config: 

vi /etc/ssh/sshd_config

修改如下内容,并保存退出

#注释掉这行 #Subsystem sftp /usr/libexec/openssh/sftp-server #添加 Subsystem sftp internal-sftp #指定使用sftp服务使用系统自带的internal-sftp Match User sftpuser #匹配用户,如果要匹配多个组,多个组之间用逗号分割 ChrootDirectory /home/sftp #指定sftpuser用户只能ftp到本目录 Match User test2#设置两个账号 ChrootDirectory /home/aa X11Forwarding no #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉 AllowTcpForwarding no ForceCommand internal-sftp #指定sftp命令

重启sshd服务器:

systemctl restart sshd.service

查询sshd启动状态命令

systemctl status sshd.service

sftpuser用户登录测试:

sftp -oPort=22 [email protected]

补充:

在使用中遇到的问题:(我的用户是xwcs)

1. ftp连接不上

 

查看vsftpd配置文件,查看日志打印文件位置,然而该日志中并未保存ftp的登录验证日志。因此,重新使用无法正常登录的账号登陆ftp,同时查看/var/log/secure。

# tail -f secure

 发现登录打印信息: 过期用户密码(密码过期)

pam_unix(vsftpd:account): expired password for user xwcs(password aged)

即:用于vsftpd的系统用户的密码授权过期

解决办法:

chage -M 99999 xwcs   

 



【本文地址】


今日新闻


推荐新闻


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