网站地图    收藏   

主页 > 系统 > linux系统 >

sftp配置多用户权限 - Linux操作系统:Ubuntu_Centos

来源:自学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

添加评论