当前位置: 首页 > 编程笔记 >

详解Linux系统中设置SFTP服务用户目录权限的方法

单于奇略
2023-03-14
本文向大家介绍详解Linux系统中设置SFTP服务用户目录权限的方法,包括了详解Linux系统中设置SFTP服务用户目录权限的方法的使用技巧和注意事项,需要的朋友参考一下

前言

在工作或者学习的时候,我们常常会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。这些可以通过配置sftp服务实现。

方法如下

提供sftp服务的有vsftpd和internal-sftp,这里用的是系统自带的internal-sftp,操作步骤如下:

1.创建新用户ui,禁止ssh登录,不创建家目录

useradd -s /sbin/nologin -M www

2.设置用户密码

passwd www

3.创建用户的根目录,用户就只能在此目录下活动

mkdir /home/www

4.设置目录权限,目录的权限设定有两个要点:

目录开始一直往上到系统根目录为止的目录拥有者都只能是root

目录开始一直往上到系统根目录为止都不可以具有群组写入权限

chown root:root /home/www
chmod 755 /home/www

5.配置sshd_config

vim /etc/ssh/sshd_config

6.修改为下面内容,保存退出

#注释掉这行
#Subsystem  sftp /usr/libexec/openssh/sftp-server
#添加在配置html" target="_blank">文件末尾
Subsystem sftp internal-sftp  #指定使用sftp服务使用系统自带的internal-sftp
Match User www      #匹配用户,如果要匹配多个组,多个组之间用逗号分割
ChrootDirectory /home/www   #用chroot将指定用户的根目录,chroot的含义:http://www.ibm.com/developerworks/cn/linux/l-cn-chroot/
ForceCommand internal-sftp  #指定sftp命令
X11Forwarding no    #这两行,如果不希望该用户能使用端口转发的话就加上,否则删掉
AllowTcpForwarding no

7.重启sshd服务

service sshd restart

8.测试:

用户登录后进入的是/home/www即用户根目录,根目录是无法写入的,所以先用root在/home/www新建一个ui目录

mkdir /home/www/ui

修改目录所有者和权限

chown ui:ui /home/www/ui
chmod 777 /home/www/ui
#可以在其他目录创建软连接指向ui目录
#ln -s /home/www/ui /www/

sftp登录www用户,进入ui目录,即可在/home/www/ui下,对文件进行添加、修改、删除的操作

sftp -oPort=22 ui@123.56.18.72
sftp> cd ui

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

 类似资料:
  • 本文向大家介绍linux操作系统下配置ssh/sftp和权限设置方法,包括了linux操作系统下配置ssh/sftp和权限设置方法的使用技巧和注意事项,需要的朋友参考一下 基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录)。 1、开通 sftp 帐号,使用户只能 sftp 操作文件, 而不能 ssh 到服务器 2、限定用户的活动

  • 问题内容: 我需要授予SFTP访问服务器上我的Webroot中的目录的权限。我已将ben_files设置为用户,并将其主目录设置为 /var/www/vhosts/mydomain.com/files 如果他使用普通的旧FTP连接就可以了-他只限于该目录,但是要启用SFTP,我必须将他添加到bin / bash shell中,这突然打开了我的整个服务器… 有没有一种方法可以给他SFTP访问权限,但

  • 本文向大家介绍mongodb 添加用户及权限设置详解,包括了mongodb 添加用户及权限设置详解的使用技巧和注意事项,需要的朋友参考一下 例如:mysql安装配置好后,有一个自带的mysql数据库,里面有一张user表,用来存放用户,以及用户权限,而mongodb这个最像关系型的数据库,有没有这样的表呢。 一,掌握权限,理解下面4条基本上就差不多 1,mongodb是没有默认管理员账号,所以要先

  • php it的函数“is_writable”返回false,然后显示具有下一个权限的目录755所有者和根组。为了使它运行,我把chown放在www-data-r/var/www/myweb。这样做是可行的,但我将所有者从root更改为apache(www.data)。我问题是这种形式解决它的正确与否。我在做一个大洞保安还是正确的?

  • 1)  Excel服务器中设置填报权限 出现填表权限设置界面,设置可以填写该报表的部门与角色,默认是所有部门与角色(系统管理员角色除外)都被选上,(有关权限设置的问题在下面有专门的章节进行论述),如下图: 点击下一步  Excel服务器中设置查看权限 1)E立方 出现查看权限设置界面,设置可以查看该报表的部门与角色,默认是所有部门与角色(系统管理员角色除外)都被选上,(有关权限设置的问题在下面有专

  • 主要内容:服务的分类,查询已经安装的服务和区分服务我们知道,系统服务是在后台运行的应用程序,并且可以提供一些本地系统或网络的功能。我们把这些应用程序称作 服务,也就是 Service。不过,我们有时会看到 Daemon 的叫法,Daemon 的英文原意是"守护神",在这里是"守护进程"的意思。 那么,什么是守护进程?它和服务又有什么关系呢? 守护进程就是为了实现服务、功能的进程。比如,我们的 apache 服务就是服务(Service),它是用来