「掌握技巧!Linux SFTP如何限定用户访问目录?」 (linux sftp 限定目录)

掌握技巧!Linux SFTP如何限定用户访问目录?

在 Linux 上,SFTP 协议是一种在 SSH 协议基础上运行的文件传输协议。它可以提供一种安全的传输方式,即使在不安全的网络环境下也可以使用。SFTP 通常用于从远程服务器传输文件,它比传统的 FTP 更加安全,因为 SFTP 会在传输数据的时候加密内容。然而,有时候我们需要限定用户(如匿名用户)只能在特定目录下工作,以防止他们访问不必要的文件或文件夹。本文将介绍如何限制用户只能访问某个特定的目录,以提高安全性。

为什么要限制用户访问目录?

在 Linux 中,SFTP 服务会默认地允许所有用户在服务器问和浏览文件和文件夹。这对于许多用户来说是一个问题,尤其是对于匿名或未经授权的用户。如果服务器上的任何用户都可以随意访问服务器上的任何文件或目录,那么这将对服务器的安全性构成威胁。特别是当你面临一个公共云环境时,这种威胁就更加严重了。因此,为了确保服务器的安全性,你需要限制用户在服务器问的目录。

如何限制用户访问某个特定目录?

Linux SFTP 服务器配置文件通常位于 /etc/ssh/sshd_config 中。要限制用户在 SFTP 服务器问某个特定目录,你需要打开此文件,并添加一些配置选项。

让我们假设你的服务器是一个 Ubuntu 系统,并且你已经安装了 OpenSSH 服务器。你可以按照以下步骤来限制用户访问服务器上的特定目录。

之一步:在终端中以管理员身份登录服务器。你可以使用以下命令登录:

$ ssh root@

第二步:打开 /etc/ssh/sshd_config 文件,并找到 Subsystem sftp 段落。该段落在文件中的位置可能会有所不同,但通常位于文件的末尾。找到 Subsystem sftp 段落后,添加以下配置信息:

Subsystem sftp internal-sftp

Match Group sftpusers

ChrootDirectory /var/sftp/%u

X11Forwarding no

AllowTcpForwarding no

ForceCommand internal-sftp

以下是配置信息的详细说明:

– Subsystem sftp internal-sftp:将 SFTP 子系统重定向到内部 sftp 二进制文件。

– Match Group sftpusers:将这些设置应用于名为 sftpusers 的用户组。如果还没有这样一个用户组,可以使用以下命令来创建它:sudo groupadd sftpusers。

– ChrootDirectory /var/sftp/%u:此选项指定根目录的路径。在本例中,根目录被设置为 /var/sftp/ 目录下的用户登录名(%u),也就是每个用户在其中具有指定的目录。例如,如果一个用户的登录名为 alice,则她的根目录为 /var/sftp/alice。如果该目录不存在,则在指定的路径下创建一个目录,并将其设置为该用户的根目录。

– X11Forwarding no:禁用用户对 X11 屏幕的访问。

– AllowTcpForwarding no:禁用对 TCP 传输的访问。

– ForceCommand internal-sftp:限制用户对服务器的访问。如果用户尝试执行进一步的指令,那么这个选项将强制使用 SFTP。

第三步:在 /var/sftp/ 目录下,创建用于存储用户文件的目录。例如,如果你想要让 alice 用户只能访问 /var/sftp/alice 目录,请执行以下命令:

$ sudo mkdir /var/sftp/alice

第四步:将你想要限制访问的文件和目录的所有者更改为 SFTP 用户。例如,如果你将 alice 用户添加到了 sftpusers 用户组中,则可以像下面这样进行更改:

$ sudo chown alice:sftpusers /var/sftp/alice

第五步:设置适当的文件权限,以确保用户不能访问你不希望他们访问的文件。例如,如果你想要 alice 用户只能读取和写入自己的文件,但不能查看其他用户的文件,请使用以下命令:

$ sudo chmod 700 /var/sftp/alice

现在,当 alice 用户登录到 SFTP 服务器上时,她将被限制为仅访问 /var/sftp/alice 目录中的文件和文件夹。

相关问题拓展阅读:

  • 系统之家Linux如何关闭scp和sftp命令怎么办
  • linux配置sftp
  • Linux(RH)如何禁止某些用户使用SFTP

系统之家Linux如何关闭scp和sftp命令怎么办

你好,方法如下:

禁止scp和sftp命令

  系统:centos 5.x

 告唯物 1.先禁止scp

  rpm -qa|grep openssh-*

  yum remove openssh-clients -y

  删除了openssh-clients后,再执行scp,就会报下面的错误:

  -bash: scp: command not found

  2.禁止sftp

  vi /etc/ssh/sshd_config

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

  把这行注释了,如下:

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

  退出保存后,重启sshd:

  service sshd restart

  山兄以上就是Linux系统中禁止scp和sftp命令的方法了。有需要或者是有兴趣的袜液用户,可以在自己的电脑上尝试操作一下。

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

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

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

# 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访问

# useradd -m -d /opt/ftp/dave -s /in/nologin dave

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

# 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.测试访问

:test# sftp -oPort=22

Connecting to 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

发现连接不上,查看日志

# tail /var/log/messages

Jan 6 11:41:41 localhost sshd: fatal: bad ownership or modes for chroot directory “/opt/ftp/dave”

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

解决方法:

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

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

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

linux配置sftp

|

查看openssh的版本,使用ssh -V 命令 来查看openssh的版本,版本必须大于4.8p1,低于的这个版本需要升级。

|

1、滚昌创建sftp用行岩户组

2、创建ftp用户

3、创建yanqi家目录并指定

注释:给大带扒家目录更改属主并授权家目录属主必须是root,权限可以是755或者750

4、创建可写目录

5、编辑配置文件/etc/ssh/sshd_config

6、验证

注释:文件只能删除至/opt/data/file目录下,可以上传和删除。

Linux(RH)如何禁止某些用户使用SFTP

可以用sshd的配置项:DenyUsers,AllowUsers, DenyGroups,AllowGroups

举个例子:

把你希望禁止使用使用sftp服务的雹兄用户都加入某个组比如xyz

然后在/etc/ssh/sshd_config设置

DenyGroups xyz

这样所有属于xyz的用户就没有登录ssh的权限了,源乎袭自然也没有使用sftp的权限了。

注意仅仅在sshd_config禁止掉sftp-server是不够的,因为只要用户顷迹还能通过

ssh登录就可以用其他user space 的工具如scp上传下载文件,效果其实跟sftp是一样的。

Linux系统可以通过sshd的配置项,禁止某些用户sftp登陆,方法如下:

1、打开sshd的配置文件

vi/etc/ssh/sshd_config

2、修改该配置文件,增加或修改如下行

# 禁止用户user1登陆,多个用户空格分隔

DenyUsers user1

# 禁止用户组group1的所皮液有用户登录,多个空格分隔

DenyGroups group1

3、保存配置后,重启sshd

/etc/rc.d/init.d/sshd restart

#完成上面的配置后,就可以禁止用户或用户组的用户进行SFTP登录

4、配置完毕后,在其它linux机器上使用燃镇物如下命令进行测试

# 使用ssh测试

# ssh 

‘s 旅告password:

Permission denied, please try again.

# 使用sftp测试

# sftp 

‘s password:

Permission denied, please try again.

#Permission denied 授权被拒绝,已经实现禁用该用户使用sftp

印象里 sshd 的访问,需要给用户加入 ssh 组。如果没有加入 ssh 组,用户是无法登陆没饥 ssh 的。当然这要看系统的具体行尘设计。

一般服务器专用的 Linux 系统都是这么设计的。你把用户移出 ssh 组就行了。

其实还有一个办法就是,ftp 单独使用自己的用户列表,而不是使用系统用户列表。但这样会降低用户 ID 的系统集成度。但 ftp 用户没有这个主机系统的 ID ,他们也就没有办法访问档察禅任何 ftp 之外的东西了。

linux sftp 限定目录的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux sftp 限定目录,「掌握技巧!Linux SFTP如何限定用户访问目录?」,系统之家Linux如何关闭scp和sftp命令怎么办,linux配置sftp,Linux(RH)如何禁止某些用户使用SFTP的信息别忘了在本站进行查找喔。

香港服务器首选树叶云,2H2G首月10元开通。
树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/217495.html<

(0)
管理的头像管理
上一篇2025-04-13 05:19
下一篇 2025-04-13 05:20

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注