SFTP配置中如何限制用户访问
在SFTP配置中,可通过以下方式限制用户访问:
-
使用Chroot环境
在/etc/ssh/sshd_config
中添加以下配置,将用户限制在其主目录:Match Group sftpusers ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
%h
代表用户主目录,需确保主目录权限为root:root
且权限为755
。ForceCommand internal-sftp
强制用户仅能使用SFTP,无法通过SSH登录。
-
文件权限控制
- 用户主目录需由
root
拥有,子目录(如上传目录)可设置为用户可写:sudo mkdir /home/username/files sudo chown username:username /home/username/files sudo chmod 755 /home/username/files
- 用户主目录需由
-
用户组管理
创建专用用户组(如sftpusers
),将需限制的用户加入该组,避免单独配置。 -
防火墙规则(可选)
通过iptables
或firewalld
限制SFTP访问的IP范围,例如:sudo iptables -A INPUT -p tcp --dport 22 -s allowed_ip -j ACCEPT
-
禁用Shell访问
确保用户shell为/sbin/nologin
或/bin/false
,防止通过SSH登录:sudo usermod -s /sbin/nologin username
配置后需重启SSH服务生效:
sudo systemctl restart sshd
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权请联系我们,一经查实立即删除!