东坡小编这里给大家分享的是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给ftp账号分配sftp权限,Linux设置用户通过SFTP访问目录的权限教程相关推荐

  1. linux下测试ftp传输,linux下ftp命令使用详解---linux文件传输ftp命令

    linux下ftp命令使用详解---linux文件传输ftp命令 上一篇 / 下一篇  2010-12-18 09:15:35 / 个人分类:Linux ftp(file transfer proto ...

  2. FTP服务器的搭建及创建虚拟用户进行认证访问

    FTP服务器的搭建及创建虚拟用户进行认证访问 PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路.当需要传送数据时,客户端在命令链 ...

  3. 通过过滤器防止用户通过url访问不在权限内的菜单

    解决方案:在web层配置过滤器: public void doFilter(ServletRequest request, ServletResponse response,FilterChain c ...

  4. windows下批量创建用户、提升用户权限、设置用户不能更改密码、设置密码永不过期

    一.实现的效果 实现批量创建用户.提升用户权限.设置用户不能更改密码.设置密码永不过期操作. 二.实现方法 2.1.在Excel中生成命令 ①通过使用Excel表格生成对应的命令,然后复制这些命令到文 ...

  5. linux下新增ftp账号,【转】Linux下添加FTP账号和服务器、增加密码和用户,更改FTP目录...

    转自:http://blog.csdn.net/cloudday/article/details/8640234 1. 启动VSFTP服务器 A:cenos下运行:yum  install  vsft ...

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

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

  7. linux创建ftp账号

    1.环境:ftp为vsftp.被限制用户名为ftpuser.被限制路径为/home/ftpuser 2.建用户,命令行状态下,在root用户下: //增加用户ftpuser,并制定ftpuser用户的 ...

  8. linux使用ftp命令_如何使用Linux FTP命令

    linux使用ftp命令 FTP (File Transfer Protocol), is a protocol commonly used for the transfer of files bet ...

  9. linux通过ftp自动上传文件到服务器,Linux系统通过FTP上传文件到云服务器

    如何通过FTP将文件上传到腾讯云Linux云服务器?上一篇小编给大家介绍了通过Winscp将文件上传到云服务器的方法,今天小编为大家介绍过FTP将文件上传到腾讯云Linux云服务器的方法,用户需要使用 ...

最新文章

  1. 面向对象笔记2 原型链 解释
  2. NIOS2随笔——DMA(1)
  3. c#sdf数据库连接_如何连接并处理 sdf 数据库文件(便捷数据库处理)
  4. C++Vector使用方法
  5. CMU Database Systems - Sorting,Aggregation,Join
  6. Python Numpy 数组的初始化和基本操作
  7. sql server序列_SQL Server中的Microsoft时间序列
  8. 万兆交换机用什么网线_超五类线到底是百兆线还是千兆线?家庭环境中我们要选择几类网线?...
  9. 什么是Dropthings
  10. 为什么阿里不收购OFO小黄车,反而让滴滴抢了先机?
  11. 使用PageOffice---如何在模板中添加数据区域
  12. 域名IP段批量生成器源码
  13. 用计算机如何算行列式,数学计算器使用操作步骤
  14. sqli-labs(18-22)
  15. 微信小程序-打开地图选择位置
  16. 挡不住,逃不过,还是阳了
  17. 微信小程序ssm电影院购票+后台管理系统|前后分离VUE
  18. 笔记本电脑无法连上WiFi的解决办法
  19. CSS animation-play-state用法
  20. ChatGPT会对未来5年的NLP算法从业者带来怎样的冲击?

热门文章

  1. 北语20春oracle数据开发2,北语20春《Oracle数据库开发》作业3题目【标准答案】
  2. MySQL安装叫重启,如何重启MySQL,正确启动MySQL
  3. C语言里面具有外部链接的静态变量这里的链接是什么意思
  4. Phonics 自然拼读法 y,x,ch,sh,(voiced)th/ð/ ,(unvoiced) th/θ/ Teacher:Lamb
  5. PowerShell-将CSV导入SQL Server
  6. 《温故而知新》JAVA基础四
  7. 细说IIS异常日志 — 你必须知道的功能
  8. MySQL 错误 1366:1366 Incorrect integer value
  9. 使用navigator对象,输出当前浏览器的信息
  10. [linux 日常]修改ls目录的颜色