我正在为不同的用户设置 SFTP。我只需要严格限制某些用户,并授予其严格的文件夹访问权限。
- 一般用户可以正常访问整个主 FTP 目录:
/project/workarea/*
- 用户
X
可以访问仅有的:/project/workarea/room-x/*
- 因此用户
X
不应该能够访问上面的其他 FTP 目录。
问题X
仅与用户有关.(文件夹限制问题)
请问该如何配置?
答案1
这是通过 sftp 将用户限制在特定文件夹中的过程。
第一步是通过编辑来使用 sshd 中的内部 sftp 服务/etc/ssh/sshd_config
。将其更改为如下所示:
# Subsystem sftp /usr/lib/misc/sftp-server
Subsystem sftp internal-sftp
最后,添加以下内容,将“sftpusers”组的用户限制在其主文件夹中:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
%h
代表他们的主目录。
添加用户x
到sftpusers
组:
useradd -G sftpusers x
现在/etc/passwd
为用户编辑x
,以便他们的主目录是他们被允许访问的文件夹,并将他们的 shell 更改为nologin
阻止 shell 访问:
x:x:1000:1000::/project/workarea/room-x/:/sbin/nologin