Linux上设置用户通过SFTP访问目录的权限的方法

  sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp服务器启动。

  1.查看openssh软件版本,想sftp服务用户只能访问特定的文件目录,版本需要4.8以上

  代码如下:

  [root@localhost ftp]# rpm -qa | grep openssh

  openssh-server-5.3p1-81.el6_3.x86_64

  openssh-5.3p1-81.el6_3.x86_64

  openssh-clients-5.3p1-81.el6_3.x86_64

  2.新增用户,限制用户只能通过sftp访问

  代码如下:

  [root@localhost ftp]# useradd -m -d /opt/ftp/dave -s /sbin/nologin dave

  3.限制用户通过sftp登录进来时只能进入主目录,修改/etc/ssh/sshd_config文件

  代码如下:

  [root@localhost ftp]# vim /etc/ssh/sshd_config

  #Subsystem sftp /usr/libexec/openssh/sftp-server

  Subsystem sftp internal-sftp

  Match User dave

  ChrootDirectory /opt/ftp/dave

  X11Forwarding no

  AllowTcpForwarding no

  ForceCommand internal-sftp

  重启ssh

  4.测试访问

  代码如下:

  root@10.1.1.200:test# sftp -oPort=22 dave@10.1.6.175

  Connecting to 10.1.6.175...

  dave@10.1.6.175's password:

  Read from remote host 10.1.6.175: Connection reset by peer

  Couldn't read packet: Connection reset by peer

  发现连接不上,查看日志

  代码如下:

  [root@localhost ftp]# tail /var/log/messages

  Jan 6 11:41:41 localhost sshd[4907]: fatal: bad ownership or modes for chroot directory "/opt/ftp/dave"

  Jan 6 11:41:41 localhost sshd[4905]: pam_unix(sshd:session): session closed for user dave

  解决方法:

  目录权限设置上要遵循2点:

  ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;

  ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是755。

  如果不能遵循以上2点,即使是该目录仅属于某个用户,也可能会影响到所有的SFTP用户。

  代码如下:

  [root@localhost ftp]# ll

  total 4

  drwxr-xr-x 3 dave dave 4096 Jan 5 13:06 dave

  [root@localhost ftp]# chown root:root dave

  [root@localhost ftp]# chmod 755 dave

  [root@localhost ftp]# ll

  total 4

  drwxr-xr-x 3 root root 4096 Jan 5 13:06 dave

  然后在测试通过

  代码如下:

  root@10.1.1.200:test# sftp -oPort=22 dave@10.1.6.175

  Connecting to 10.1.6.175...

  dave@10.1.6.175's password:

  sftp> ls

  test

  sftp> cd ..

  sftp> ls

  test

  sftp> cd test

  sftp> ls

  1.txt

  sftp> get 1.txt

  Fetching /test/1.txt to 1.txt

  /test/1.txt

  可以看到已经限制用户在家目录,同时该用户也不能登录该机器。

(0)

相关推荐

  • 怎么设置Win10电脑中访问图片库的权限

    我们想要对win10电脑的访问图片库的权限进行设置,该怎么操作呢?今天就跟大家介绍一下怎么设置Win10电脑中访问图片库的权限的具体操作步骤.1. 首先打开电脑,进入桌面,点击左下角的开始图标,在打开 ...

  • 共享访问报"无权限"解决方法

    访问报无权限解决方法: 1.设置本地的administrator账户的密码. 2.设置网络访问模式为经典模式. 3.设置允许从网络访问计算机的用户账户(加入Guest组). 4.设置禁止从网络访问计算 ...

  • 关于安装程序没有访问某目录的权限解决方法

    我们安装软件或者驱动时,会遇到安装程序没有访问目录.下面简单介绍下处理的方法. 操作方法 01 方法1:找到软件安装文件夹,右键-管理员取得所有权.或者右键以管理员的身份打开. 02 关闭相关杀毒软件 ...

  • 在抖音中设置新功能随拍的查看权限的方法

    抖音在更新之后,更新了一个新的功能--随拍.如果我们只想要这个随拍被特定的人群所看到的话该怎么设置呢?具体如下:1. 第一步,下载抖音短视频app并打开.2.第二步,在打开的抖音首页上,靠近屏幕左上角 ...

  • 如何在Linux上设置RAID 10确保高性能

    RAID 10(又叫RAID 1+0或镜像条带)阵列结合了RAID 0和RAID 1两者的功能特性,从而提供了高性能、容错的磁盘输入/输出操作。在RAID 0中,读取/写入操作跨多个驱动器并路执行;在 ...

  • IIS7/IIS7.5中取消目录执行权限的方法

    IIS配置网站时,通常有些目录必须给写入权限,这个时候这些目录就很可能被人写入脚本文件,为了将安全性维护得更好,我们可以关闭这些有写入权限的目录的脚本执行权限。 IIS6中,可以很容易找到关闭的地方, ...

  • 怎么在电脑上设置共享打印机的打印权限?

    今天小编来教大家在电脑上设置自己的共享打印机的打印权限的方法! 操作方法 01 1.找到电脑桌面下方的开始菜单栏,点击它, 02 2.在弹出的开始菜单栏中找到设备和打印机,点击它. 03 3.进入到设 ...

  • 如何把EXCEL选择性粘贴数值设置在自定义快速访问工具栏?

    Excel怎么建立“选择性粘贴—数值”的快捷方式到工具栏呢?Excel是我们日常使用较为频繁的办公软件之一.在处理大数据时,很多数据是根据excel公式计算出来的.我们提取数据时,不能常规性的复制粘贴 ...

  • 怎么在win10系统中设置不再使用访问文档权限

    使用Windows10系统电脑的用户,为了可以快速打开文档,因此想要设置不再使用访问文档权限,但是却不知道如何设置,那么小编就来为大家介绍一下吧.具体如下:1. 第一步,点击桌面左下角的开始图标,接着 ...