知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

sftp配置多用户权限

发布时间:2014-09-05 13:37:48作者:知识屋

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 权限,否则就会报错。
 
记录一下,以备以后使用,同时也提供给有需要的朋友。
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜