创建不能ssh登录的用户sftpuser1,密码用于sftp登录: 
sudo adduser sftpuser1 --home /sftp/sftpuser1 --shell /bin/false 
sudo nano /etc/ssh/sshd_config (执行man sshd_config查看配置说明) 
Ubuntu/Debian上把Subsystem sftp /usr/lib/openssh/sftp-server 
Redhat/CentOS上把Subsystem sftp /usr/libexec/openssh/sftp-server 
修改为 Subsystem sftp internal-sftp 
并加入: 
Match User sftpuser1 
    ChrootDirectory /sftp/sftpuser1 
    ForceCommand internal-sftp 
    AllowTcpForwarding no 
    X11Forwarding no 
注意ChrootDirectory设置的目录/sftp/sftpuser1的所有者必须是root,并且该目录的上级目录/sftp的所有者也必须是root. 
而且只有所有者拥有写权限,/sftp/sftpuser1和/sftp的权限最大设置只能是755. 
sudo chown root:root /sftp/sftpuser1 
sudo service ssh reload

由于上面设置了目录的权限是755, 
因此所有非root用户都无法在目录中写入文件. 
我们需要在ChrootDirectory指定的目录下建立子目录比如data,重新设置属主和权限. 
mkdir /sftp/sftpuser1/data 
chown sftpuser1:sftpuser1 /sftp/sftpuser1/data 
chmod 755 /sftp/sftpuser1/data 
这样就可以在读写data目录了.

配置好后,用户sftpuser1只能通过sftp访问指定目录,而且不能进行ssh登录: 
sftp sftpuser1 @127.0.0.1 登录成功,执行 ls -lha / 可见根目录为 /sftp/sftpuser1, 执行cd ..可见无法进入上一层目录. 
ssh sftpuser1 @127.0.0.1 提示: 
Could not chdir to home directory /sftp/sftpuser1: No such file or directory 
This service allows sftp connections only. 
Connection to 127.0.0.1 closed.

把 AllowTcpForwarding no 改为 AllowTcpForwarding yes 表示允许用户进行端口转发, X11Forwarding 含义类似. 
上面已经实现了端口转发和禁止登录,如果要禁止读写,执行 chmod 000 /sftp/sftpuser1

用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录的更多相关文章

  1. linux下创建用户组与用户 只能访问指定目录的方法 以及FTP用户配置详解

    VSFTPD 安装: -- 查看是否已经安装 VSftpd: rpm -qa | grep vsftp yum install -y vsftpd groupadd ftpuser #创建ftpuse ...

  2. Linux 创建用户 限制SFTP用户只能访问某个目录

    Linux 限制SFTP用户只能访问某个目录 1. 新建用户并设置密码 > useradd suser > passwd suser   // 输入密码 2. 设置sshd配置文件 > ...

  3. sqlserver 限制用户只能访问指定的视图

    项目中有一个需求,要求给其它单位提供数据,我们用到了视图,并要求不能让他们看到数据库中的其它数据,我们为其创建了单独的账号,并只能看到指定视图 一.创建视图 CREATE VIEW [dbo].[v_ ...

  4. mysql限制用户只能访问指定数据库

    1.使用root账户登录mysql mysql -uroot -ppassword 2.进入mysql数据库 mysql > use mysql 3.限制用户权限 GRANT SELECT, I ...

  5. oracle 创建一个用户,只能访问指定的对象

    1>创建一个ORACLE 的用户 create user username identified by pws; 2>给用户授权  grant connect,resource to us ...

  6. Linux创建用户,SFTP只允许访问指定目录

    首先创建用户 useradd lus1passwd lus1 我这里配置lus1这个用户目录,为sftp指向目录,即/home/lus1/ vim /etc/ssh/sshd_config //这个记 ...

  7. oracle 创建一个用户,并且设定只能访问指定的对象

    出处:http://www.cnblogs.com/BetterWF/archive/2012/07/03/2574416.html 今天在开发接口时候,需要给接口开发公司提供一个ORACLE 用户, ...

  8. vsftp限制FTP用户只能访问自己的目录

    修改配置文件/etc/vsftpd/vsftpd.conf chroot_local_user=YESallow_writeable_chroot=YESchroot_list_enable=YESc ...

  9. sqlserver给指定用户授权访问指定表

    一.   背景 外部公司的人授权访问我们公司的数据库,数据接口调用,要给他们建立查看指定的视图和授权的账号,因此要在数据库中,给指定用户授权访问指定表 二.sqlserver 脚本 ---创建视图CR ...

随机推荐

  1. json过滤某些属性 之@jsonignore

    Jackson相关: 使用Jackson相关的注解时一定要注意自己定义的属性命名是否规范. 命名不规范时会失去效果.(例如Ename ,Eage 为不规范命名.“nameE”,“ageE”为规范命名) ...

  2. Making ARC and non-ARC files play nice together

    From Codeography If you want to exclude a file from being compiled with ARC you can do so by setting ...

  3. rsync工具介绍 rsync常用选项 rsync通过ssh同步

    linux文件同步工具-rsync [root@centos7 tmp]# yum install -y rsync rsync可以增量的同步,只同步变更的文件 把/etc/passwd 同步到/tm ...

  4. UART Receive FIFO and Receive Timeout

    为什么UART要有FIFO? 现代的CPU运转速度越来越快.UART的波特率通常达不到10M,在没有FIFO的情况下.每次填充数据给UART 或者 从UART取数据都会占用CPU的时间.这是极大的浪费 ...

  5. hive cst 时间转换

    select from_unixtime(unix_timestamp(r.collecttime,'EEE MMM dd HH:mm:ss zzz yyyy'),'yyyy-MM-dd HH:mm: ...

  6. 网络上可供测试的Web Service

    网络上可供测试的Web Service 腾讯QQ在线状态 WEB 服务Endpoint: http://www.webxml.com.cn/webservices/qqOnlineWebService ...

  7. Windows 下 绿化 Oracle

    既然Oracle在非windows平台上可以很“绿色”的执行,那么在windows平台上有无可能呢? 答案是“Yes-No” 基本上,除了监听器(lisentner)这个异类外,Oracle实例完全可 ...

  8. linux环境中,ssh登录报错,Permission denied, please try again.

    问题描述: 今天早上一个同事反应一个问题,通过ssh登录一台测试机的时候,发现两个账号,都是普通账号,一个账号能够登录, 另外一个账号无法登录.问他之前有做过什么变更吗,提到的就是之前有升级过open ...

  9. 修改Tomcat的默认访问目录

    放在外网的应用,用户多是直接输入域名访问,而Tomcat的默认目录是ROOT,所以我们需要更改其默认目录. 更改Tomcat的默认目录很简单,只需要修改server.xml就可以了. 具体是是在< ...

  10. actor binary tree lab4

    forward 与 ! (tell) 的差异,举个例子: Main(当前actor): topNode ! Insert(requester, id=1, ele = 2) topNode: root ...