windows | Mac os | linux | 电脑故障 | 网络知识 | 电脑百科 | 破解软件 | 网页编程 | 电脑配置 |

Linux怎么设置用户通过SFTP访问目录的权限

众所周知SFTP账号是基于SSH账号的,所以在默认情况下访问服务器的权限是非常大的。就让小编来告诉大家Linux怎么设置用户通过SFTP访问目录的权限的方法吧,希望对大家有所帮助。

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

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

看过“Linux怎么设置用户通过SFTP访问目录的权限”的人还看了:

123
  • Linux怎么设置用户通过SFTP访问目录的权限 相关内容:
  • Linux上的一款EPUB阅读软件
  • 如果说用平板电脑看书尚属主流的话,那么在电脑上读书就非常少见了。专注阅读16世纪的书是非常困难的了,没人希望后台蹦出QQ聊天窗口。但是如果你非要在电脑上打开电子书的话,那么你需要一个电子书阅读软件。大多数出版物支持使用EPUB格式的电子书(电子出版物)。幸运的是,linux...

  • 微软正在成为Linux基金会白金会员
  • 近日,微软自豪地宣布,它正在成为Linux基金会白金会员。15年前,其前首席执行官史蒂夫·鲍尔默将Linux形容为癌症。虽然这一举动对于微软来说是有意义的,但在开源世界中,不少人视微软为敌人,并且对微软在开源行业的扩张持不同意见,认为微软加入Linux基金会,可能会让Linux发...

  • Linux下读取默认MAC地址的方法
  • MAC(Media Access Control,介质访问控制)计算机通过它来定义并识别网络设备的位置。在嵌入式linux学习中不可避免也会遇到MAC,本文主要描述了如何通过操作OTP来读取嵌入式linux设备网卡中的MAC地址 一、适用范围 这里主要介绍读取网卡MAC地址的方法,适用于EasyARM-i.MX2...

  • 如何管理和维护RHCS集群
  • 管理和维护RHCS集群是一个非常复杂和繁琐的工作,要维护好一个RHCS集群,必须熟悉RHCS的基本运行原理,在集群管理方面,RHCS提供了两种方式:即Luci图形界面方式和命令行方式,这儿重点讲述在命令行下如何管理RHCS集群。 启动RHCS集群 RHCS集群的核心进程有cman和rgmanager。要启动...

  • Linux下网络故障诊断
  • 由于实现网络服务器的层次结构比较多,因此当网络出现故障时,解决起来比较复杂。下面由我来为大家详细介绍Linux系统中可能出现的一些网络问题,如网卡硬件问题、网络配置问题、驱动程序问题,以及网络层、传输层、应用层问题等。 网卡故障可以分为硬件故障和软件故障,判断硬件...

  • 在Linux上如何管理加密密钥?管理加密密钥的最
  • 存储 SSH 的加密秘钥和记住密码一直是一个让人头疼的问题。但是不幸的是,在当前这个充满了恶意黑客和攻击的世界中,基本的安全预防是必不可少的。对于许多普通用户来说,大多数人只能是记住密码,也可能寻找到一个好程序去存储密码,正如我们提醒这些用户不要在每个网站采用相同...

  • 使用awk的next命令的方法
  • 在awk系列文章中,我们来看一下next 命令 ,它告诉 awk 跳过你所提供的所有剩下的模式和表达式,直接处理下一个输入行。next 命令帮助你阻止运行命令执行过程中多余的步骤。 要明白它是如何工作的, 让我们来分析一下 food_list.txt 它看起来像这样: Food List Items No...

  • Linux下的链接文件详解
  • 几个基本概念 Linux下的链接文件可以分为硬链接(hard link)与软链接(soft link)。要理解它们,必须先要理解几个基本概念。 inode 文件除了纯数据本身之外,还必须包含有对这些纯数据的管理信息,如文件名、访问权限、文件的属主以及该文件的数据所对应的磁盘块等等,这些管理信息称...

  • 发布时间:2016-11-30 16:21:53 查看更多>>

    linux