1、需求说明:
在一些生产环境中,有部分运营人员需要批量下载并上传专题,配置FTP服务进行权限控制相对比较复杂,也存在安全隐患,为了不让用户浏览除指定目录外得内容,我们可以通过SFTP限制允许访问得目录
2、创建系统用户

# useradd admin && echo 'admin123' | passwd --stdin admin

3、配置sftp的账户权限
修改文件/etc/ssh/sshd_config之前先备份文件cp sshd_config{,.bak}
Subsystem sftp internal-sftp
Match User admin # 需要限制得用户admin
ChrootDirectory /data/www/Appcode # 允许admin用户访问得指定目录
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
效果如图所示:

4、设置允许用户访问目录的权限
Sftp用户访问目录需要设置所有者和所属组的权限均为root,并设置目录的权限为755

# chown -R root:root /data/www/Appcode/
# chmod 755 /data/www/Appcode/
# /etc/init.d/sshd restart

5、通过重新启动SSHD后我们通过SFTP连接服务器


登录后的目录定位到了指定的目录"/data/www/Appcode"目录,不能浏览系统的其他目录,也不能切换目录,用户可正常浏览下载目录中的文件,但是用户无法上传文件。即使在/data/www/Appcode/下属主为admin的目录,用户也无法上传。此时需要在/data/www/Appcode/下建立属主属组为admin的目录,并给/data/www/Appcode目录设置acl权限即可

# mkdir /data/www/Appcode/test
# chown admin:admin /data/www/Appcode/test
# setfacl -m u:admin:rwx /data/www/Appcode

6、setfacl报错Operation not supported
setfacl: /data/www/Appcode: Operation not supported
一般情况下(ext4),默认acl支持都是加载的.但如果遇到二般情况,文件系统加载时没有指定acl.我们可以能过编辑/etc/fstab文件,找到对应得分区指定acl权限,然后重新挂载分区即可。

# mount -o remount /data
# setfacl -m u:admin:rwx /data/www/Appcode

转载于:https://blog.51cto.com/darren88/2406992

Linux下限制用户通过SFTP访问指定目录相关推荐

  1. linux配置sftp访问指定目录,Linux创建用户,SFTP只允许访问指定目录

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

  2. linux系统访问sftp,Linux上设置用户通过SFTP访问目录的权限的方法

    sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动. 1.查看openssh软件版本,想sftp服务用户只能访问特定的文件 ...

  3. linux给ftp账号分配sftp权限,Linux设置用户通过SFTP访问目录的权限教程

    东坡小编这里给大家分享的是Linux设置用户通过SFTP访问目录的权限教程,对linux sftp 用户权限设置可以参考下. sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要ssh ...

  4. linux下新建用户和用户组

    查看用户组情况: /etc/group文件包含所有组 查看用户信息: /etc/shadow和/etc/passwd系统存在的所有用户名(包括目录) 还可以修改主机名:vi /etc/HOSTNAME ...

  5. linux下创建用户

    linux下创建用户 Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理 ...

  6. 查看linux的用户 7.2,linux下查看用户登入系统相关命令及编写脚本(七)

    linux下查看用户登入系统相关命令及编写脚本(七) 查看用户登入系统日志 1.w 显示谁登入并正在做什么事 2.who 显示谁登入 -r:显示系统运行级别 3.sleep 睡眠命令(sleep 5 ...

  7. linux下添加用户并赋予root权限

    1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 #passwd tommy   //修改密码 Changing pa ...

  8. Linux下的用户、组和权限的详细解释

            前言:在linux中一切都是文件(文件夹和硬件设备是特殊的文件),如果有可能尽量使用文本文件.文本文件是人和机器能理解的文件,也成为人和机器进行交流的最好途径.由于所有的配置文件都是文 ...

  9. Linux 下的用户、用户组、文件权限设置

    给用户增加执行权限 chmod u+x a.txt 给用户所属组增加写权限,其他用户删除读权限 chmod g+w,o-r a.txt 给用户所属组增加读写执行权限 chmod g=rwx a.txt ...

最新文章

  1. c++语言程序设计案...,C++程序设计案.ppt
  2. Dapper官方教程翻译8:Dapper方法之QueryMultiple(转)
  3. 称重管理系统如何修改重量_微嵌智能称重方案实现自动零件计数秤
  4. code vs 1026 逃跑的拉尔夫
  5. 全面解析多种区块链隐私保护解决方案
  6. java多线程总结五:线程池的原理及实现
  7. 【 D3.js 入门系列 --- 9 】 常见可视化图形
  8. 如何修改移动设备按钮默认样式
  9. ingress controller 和ingress使用实例
  10. ByteBuffer使用之道
  11. 树莓派 小屏幕_树莓派学习手动积累(1)
  12. 常用中后台交互设计控件使用场景与规范总结
  13. 【图像处理基础】基于matlab图像SRGB+Adobe RGB伽马校正【含Matlab源码 255期】
  14. 一次HBase问题的解决过程(Status: INCONSISTENT)
  15. Buffer Overflow with Shellcode-protostar-stak5-bin-0x06
  16. python绘制聚类树状图
  17. 19秋计算机应用基础在线作业2,计算机应用基础19秋在线作业2 Windows 下能浏览并管理文件 驱动器及网络连接的强大工具是...
  18. AI for Science年度激辩:AlphaFold成功难以复制,数据人才生态建设都是挑战|MEET2023...
  19. 米歇尔·福柯——生平与著作
  20. 2008年8月24号,星期天,晴。岁寒,然后知松柏之后凋也。 ——《论语•子罕》今天是我博士生涯的第49天,今天太太就要从安阳动身回九江了,又得要十几个小时颠簸了

热门文章

  1. mysql 读取oracle数据_Python中Pandas通过read_sql方法从Mysql或Oracle数据库中读取数据帧(DataFrame)...
  2. JSP变量和方法声明
  3. 嵌入式工程师是硬件工程师么‘_硬件工程师修炼真经
  4. window 自动安装MySQL数据库_windows安装MySQL数据库
  5. ming window 交叉编译_Golang在windows下交叉编译linux程序
  6. mysql判断不为null
  7. 日志存储 elasticsearch vs clickhouse
  8. Excel文档VBA代码自动删除
  9. VB LISTBOX
  10. 任何时候都不要轻易满仓