来源:自学PHP网 时间:2015-04-14 10:28 作者: 阅读:次
[导读] sftp配置多用户权限工作需要,用户上传文件到目录下,用ftp不太安全,选择sftp。让用户在自己的home目录下活动,不能ssh到机器进行操作。下面开始干活。 查看ssh版本 ssh -V,我的系统是...
sftp配置多用户权限
工作需要,用户上传文件到目录下,用ftp不太安全,选择sftp。让用户在自己的home目录下活动,不能ssh到机器进行操作。
下面开始干活。 查看ssh版本 ssh -V,我的系统是CentOS6.4 ssh版本是5.3(大于4.8)的没有问题。
0, 创建用户目录root权限下创建用户和属组都是root
mkdir -p /opt/sftp/dir1/{upload,public}
1,创建 groupadd sftp
2. 创建 user -s /sbin/nologin -G sftp davis
user -s /sbin/nologin -G sftp davis1
3, 创建 davis 密码
passwd davis or echo davis:123456|chpasswd
passwd davis1
4, 修改sshd_config文件
#Subsystem sftp /usr/libexec/openssh/sftp-server(注释掉)
添加下面行
Subsystem sftp internal-sftp
Match Group sftp
ChrootDirectory /opt/sftp/dir1
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
重启sshd /etc/init.d/sshd restart
5, 给目录附属权限
chown davis:sftp /opt/sftp/dir1/upload
chown davis1:sftp /opt/sftp/dir1/public
chmod 700 /opt/sftp/dir1/upload
chmod 700 /opt/sftp/dir1/public
6, 将upload 给davis用户
usermod -d /upload davis
usermod -d /public davis1
7, 测试 ssh davis@localhost 和 sftp davis@localhost or sftp -oPort=2000 davis@localhost(ssh端口更换为2000)
sftp登陆davis帐号,对应的是/upload,而davis1 登陆后则对应的是/public
注意:
要实现Chroot功能,目录权限的设置非常重要。否则无法登录,给出的错误提示让人无从下手。
目录权限设置
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755
ChrootDirectory %h 如果选择了这种模式,用户的home目录必须是root:root 权限,否则就会报错。
记录一下,以备以后使用,同时也提供给有需要的朋友。
|
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com