1.编辑ssh中的sftp的配置,命令可能是:vi /etc/ssh/sshd_config

在这个文件里最后增加



#限制sftp组的用户使用sftp时在自己的home文件夹下

Match Group sftp

#这里写重写根文件夹成登录用户的根文件夹下

        ChrootDirectory %h

#这行指定使用sftp服务使用系统自带的internal-sftp

        ForceCommand    internal-sftp

2 重新启动ssh服务,命令可能是:service ssh restart,

这里要注意,当前重新启动这个服务的窗体千百万不能关闭,假设配置错误,ssh重新启动失败,你可能就进不去了,就得到机房中弄了,,,

所以,重新启动后,能够使用service ssh status来检查状态,或是再打开一个ssh登录窗体检查一下,重新启动后服务是否能正常执行.

如果我的文件夹是/var/www/a



用户创建



1. 使用adduser --home /var/www/a/ --gid 1001 --shell /bin/false 登录员工名,来添加用户

2. 在/var/www/a/文件夹下创建一个属于此用户的文件夹,如U1000

3. 使用chown -R username.sftp ./U1000 来改变这个文件夹拥有者,也就是U1000拥有者是本用户,组是sftp

4. 使用chmod -R o+wr ./U1000 来改变本用户拥有写入本文件夹的权限

5.使用chown root.root /var/www/a,来改变这个用户的home本身及以上的文件夹,如/var,/var/www,/var/www/a,同一时候让/var/www/a的全部文件夹的组写入权限没有了, chmod -R g-w ./,  

6. sftp登录情况记录在/var/log/auth.log中

7 使用 sftp工具来检測登录情况,假设能登录就说明配置成功,不能登录,请到/var/log/auth.log查看错误情况,通常是提示文件夹的mod或是owner不正确,这时就把这个提示文件夹改成 root.root反正不是当前用户即可了.

8. 创建多个用户来检測/var/ww/a/u1与/var/ww/a/u2之间的用户能否互相写入,能够话,就把u1使用chmod -R g-w ./u1这个方案来去掉组的写入权限,再使用 chmod -R o+w ./u1,这个命令来让拥有者有写入权限,别人仅仅能查看,

这里全部的sftp的组的用户都是设置home 是/var/www/a,由于chroot须要把当前的文件夹设置成非当前用户,也就是须要a文件夹登录用户不写入,而为了能使用就得,在a以下再建立一个文件夹,这样就无形中添加一个没太多作用的文件夹,如user1的home = /var/www/u1,为了使用,u1是root.root全部,然后须要再建立一个文件夹如www在u1下才干使用.

而user2的home=/var/www/u2,建立www在u2以下使用.这种方式尽管能够让user1看不到user2的文件夹,由于chroot时user1根文件夹就是/var/www/u1了.

而为了解决问题,另一个方式就是建立/var/www/a/u1,u2,u3,uxxxyy这种文件夹,再使用ln来设置链接,如 ln -f /var/www/u1 /home/user1/u1,设置/home/user1为root.root的owner,再在u1就chown user1.sftp,这样,就能够达到能够写入,也不会让url路径加一级没用的文件夹,可是这样在管理上感觉不太好,

linux配置sftp用户的chroot步骤(用户的sftp根文件夹)的更多相关文章

  1. Linux 配置 history 命令显示操作时间、用户和登录 IP

    一.在配置文件中(/etc/bashrc 或者 /etc/profile 或者~/.bash_profile 或者 ~/.bashrc)添加如下配置 #vim /etc/bashrc    // 进到 ...

  2. Linux 配置SFTP,配置用户访问权限

    之前我服务器是使用的Windows Server 2003,这段时间由于访问量变大我还是机智的换成Linux了,在搭建FTP的时候看到网上都是推荐vsftpd,不过我不推荐这个家伙,看官且看下文. 我 ...

  3. Linux用户和用户组管理 用户配置和管理的相关文件

    用户信息文件 /etc/passwd 这个文件中保存的就是系统中所有的用户及其对应的用户主要信息. 文件格式 :  第1字段 第2字段 第3字段 第4字段 第5字段 第6字段 第7字段 用户名称 密码 ...

  4. linux云计算集群架构学习笔记:用户管理和root用户密码重置

    RHEL7用户管理 本节所讲内容: 用户和组的相关配置文件 管理用户和组 RHEL7破解root密码 与windows 相比 LINUX中的用户和账号的作用是一样的. 都是基于用户对访问的资源做控制, ...

  5. Linux常用命令学习4---(挂载命令mount umount、用户登陆查看和用户交互命令 w who last lastlog)

    紧接着上一篇Linux的命令行的学习:Linux学习3---(文件的压缩和解压缩命令zip unzip tar.关机和重启命令shutdown reboot……) 1.挂载命令     简介      ...

  6. linux增加用户并赋予权限/用户和用户组操作命令

    ===============ubuntu================================================== 在Ubuntu13.10下创建一个新的用户:Step1: ...

  7. jenkins配置记录(1)--添加用户权限

    前一阵子在线上部署了一套jenkins环境,作为线上代码发布平台使用.部署记录:http://www.cnblogs.com/kevingrace/p/5651427.html 下面重点记录下jenk ...

  8. VisualSVN Server仓库迁移到Linux(包含所有版本, 权限,用户信息)

    公司开发服务器从Windows换成CentOS,所以要把原服务都转移到Linux下,MySQL.SMB的迁移都很顺利,但是SVN的转移却遇到了些问题,花费了三天时间,走了不少弯路,现在总算解决了SVN ...

  9. linux系统学习笔记:无死角理解保存的设置用户ID,设置用户ID位,有效用户ID,实际用户ID

    一.基本概念 实际用户ID(RUID):用于标识一个系统中用户是谁,一般是在登录之后,就被唯一的确定,就是登录的用户的uid. 有效用户ID(EUID):用于系统决定用户对系统资源的权限,也就是说当用 ...

随机推荐

  1. DB文件会生成在哪里以及生成的个数是多少?

    当系统发生Kernel Exception.System Server异常等问题时.MTK内部机制会抓取相关异常调试信息.产生相应的DB文件,放到aee_exp目录下.而在不同的情况下.aee_exp ...

  2. Java集合-Map接口相关操作方法

    Map接口不是Collection接口的继承.Map接口用于维护键/值对(key/value pairs). 该接口描述了从不重复的键到值的映射. (1) 添加.删除操作: Object put(Ob ...

  3. Java 变长參数Varargs

    Varargs (variable arguments)可变长參数是Java 1.5引入的特性. 方法的形參如print(String ... s),实參为随意数目的值. public class V ...

  4. Springmvc UPDATE 数据时 ORA-01858:a non-numeric character was found where a numeric was expected

    ORA-01858:a non-numeric character was found where a numeric was expected 异常. 我的代码: 主要是绑定变量带出来的问题. 出错 ...

  5. Ubuntu 18.04修改IP地址

    注:配置/etc/network/interfaces已无用 root@ubuntu:~# vim /etc/netplan/50-cloud-init.yaml network: ethernets ...

  6. 资源管理器也玩多标签:QT TabBar v1.5.0.0a3

    http://zmingcx.com/explorer-also-play-more-tags-qt-tabbar-v1-5-0-0a3.html浏览器中的标签浏览功能非常受欢迎,安装QT TabBa ...

  7. Linux命令-网络命令:setup

    setup 进入设置网络信息的界面 上图中选“网络配置”进入设置网络信息 上图中选“设备配置”进行配置IP地址,下图显示网卡信息 上图中,选择“eth0”回车进入设置eth0网卡信息界面 上图中选择“ ...

  8. 代理模式和php实现

    代理模式(Proxy Pattern) : 给某一个对象提供一个代 理,并由代理对象控制对原对象的引用.代理模式的英 文叫做Proxy或Surrogate,它是一种对象结构型模式 模式动机: 在某些情 ...

  9. 【转载】Oracle之内存结构(SGA、PGA)

    [转自]http://blog.itpub.net/25264937/viewspace-694917/ 一.内存结构 SGA(System Global Area):由所有服务进程和后台进程共享: ...

  10. Nginx日志深入详解

    一.日志分类 Nginx日志主要分为两种:访问日志和错误日志.日志开关在Nginx配置文件(/etc/nginx/nginx.conf)中设置,两种日志都可以选择性关闭,默认都是打开的.1.访问日志 ...