linux新建用户指定目录权限-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

linux新建用户指定目录权限

2016-06-23 15:27:48 2243 1

我想在centos上建立一个用户,指定一个目录给它,只能在这个目录下操作,不能返回到向上一级等等的目录。就好像ftp那种类似,但是以ssh登陆进去的,应该怎么做?谢谢.

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:46:25

    用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录

    创建不能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.

    0 0
相关问答

1

回答

Linux 中我们通常使用什么命令来修改文件或目录的所属用户与权限呢?

2021-12-04 18:10:24 275浏览量 回答数 1

1

回答

linux中的命令tee是什么意思?

2021-12-02 00:16:11 144浏览量 回答数 1

1

回答

Linux grep 中命令--silent是什么意思呢?

2021-12-01 14:29:09 154浏览量 回答数 1

1

回答

Linux grep 中命令--ignore-case 是什么意思呢?

2021-12-01 14:29:48 140浏览量 回答数 1

1

回答

Linux grep 中命令--with-filename 是什么意思呢?

2021-12-01 14:30:34 128浏览量 回答数 1

1

回答

Linux grep 中命令--no-filename是什么意思呢?

2021-12-01 14:31:00 239浏览量 回答数 1

1

回答

Linux grep 中命令--basic-regexp是什么意思呢?

2021-12-01 14:31:26 85浏览量 回答数 1

1

回答

Linux grep 中命令--fixed-regexp是什么意思呢?

2021-12-01 14:31:51 104浏览量 回答数 1

1

回答

Linux grep 中命令--file=<规则文件>是什么意思呢?

2021-12-01 14:32:21 138浏览量 回答数 1

1

回答

Linux grep 中命令--extended-regexp是什么意思呢?

2021-12-01 14:34:16 155浏览量 回答数 1
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载