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

发布时间 - 2026-01-10 22:14:37    点击率:

前言

在工作或者学习的时候,我们常常会遇到这样的需求,限制一个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
#添加在配置文件末尾
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  # sftp用户目录  # sftp  # 权限  # 目录权限  # linux修改目录和文件权限的简单命令解释  # 简析Linux中如何改变文件或目录的访问权限  # Linux中文件权限目录权限的意义及权限对文件目录的意义  # Linux文件权限与目录管理详解  # linux文件上传  # 给文件或目录添加apache权限的方法  # Linux 下目录文件权限(命令)的查看和修改  # linux文件目录默认权限(详解)  # Linux 文件和目录权限详细介绍  # linux下建站目录分配权限的经验技巧总结  # 的是  # 多个  # 直往  # 上到  # 系统自带  # 都不  # 目录下  # 让他  # 在此  # 可以通过  # 可在  # 这篇文章  # 不能用  # 重启  # 该用户  # 先用  # 用户登录  # 群组  # 常常会  # 配置文件 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 三星网站视频制作教程下载,三星w23网页如何全屏?  Bootstrap整体框架之JavaScript插件架构  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  教学论文网站制作软件有哪些,写论文用什么软件 ?  进行网站优化必须要坚持的四大原则  java中使用zxing批量生成二维码立牌  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  如何快速搭建自助建站会员专属系统?  西安专业网站制作公司有哪些,陕西省建行官方网站?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Python自动化办公教程_ExcelWordPDF批量处理案例  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  智能起名网站制作软件有哪些,制作logo的软件?  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  如何将凡科建站内容保存为本地文件?  高防服务器如何保障网站安全无虞?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  如何选择可靠的免备案建站服务器?  php json中文编码为null的解决办法  javascript日期怎么处理_如何格式化输出  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  Laravel如何使用Collections进行数据处理?(实用方法示例)  如何快速完成中国万网建站详细流程?  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何快速启动建站代理加盟业务?  如何快速使用云服务器搭建个人网站?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  利用JavaScript实现拖拽改变元素大小  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  Android 常见的图片加载框架详细介绍  js实现获取鼠标当前的位置  Laravel如何实现数据库事务?(DB Facade示例)  Laravel怎么在Controller之外的地方验证数据  Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  如何快速上传自定义模板至建站之星?  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  免费视频制作网站,更新又快又好的免费电影网站?  香港服务器租用每月最低只需15元?