ubuntu创建sftp账号及访问权限设置注意事项

  • Post author:
  • Post category:其他


ubuntu创建sftp账号及访问权限设置注意事项


创建一个专门的sftp用户步骤:


1. 需要创建一个用户组,专门用于sftp用户

# groupadd sftpusers    ps我里的用户组是sftpusers ,查看cat /etc/group |more


2. 创建一个用户test(安环)


# useradd -s /bin/false -G sftpusers test      ps注意这里将test用户的shell设置为/bin/false使他没有登陆shell的权限

# passwd test   #设置test用户密码test123



3. 编辑/etc/ssh/sshd_config



找到Subsystem这个配置项,将其修改为

Subsystem sftp internal-sftp

然后再到文件最尾处增加配置设定属于用户组sftpusers的用户都只能访问自己的文件夹

Match Group sftpusers

X11Forwarding no #禁止使用X11转发 运行GUI程序

AllowTcpForwarding no #是否允许TCP转发

ForceCommand internal-sftp

ChrootDirectory /var/sftp/     #需在 /var/sftp/  创建test和ledpc文件夹,该文件夹就是登录的sftp用户目录

保存并关闭



4. 修改test用户所在文件夹的权限,让其属于root用户

# chown /var/www/html/sftp/test

5. 重启sshd服务

# service sshd restart  #重启服务 sudo /etc/init.d/ssh restart

6. 测试用户账号

# ssh test@localhost

ps连接会被拒绝,证明该用户没有ssh shell登录的权限



注意:这样设置以后,会影响原来系统有shell权限的用户登录sftp,造成无法登录,会有类似”Received unexpected end-of-file from SFTP server”错误提示, 如果想恢复原来系统有shell权限的用户登录sftp,只需要将第3步设置注释掉即可.



版权声明:本文为x8mouse原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。