我想限制服务器上的所有用户只能使用 SFTP,而管理员组的成员应该具有完全的 SSH 访问权限。
我发现可以通过使用Match Group
和来限制组的成员ForceCommand
。但我发现没有逻辑否定。所以我试图反向构造它:
# SFTP only, full access only for admin group
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Match Group admin
X11Forwarding yes
AllowTcpForwarding yes
ForceCommand /usr/local/sbin/ssh-allowcmd.sh
Run Code Online (Sandbox Code Playgroud)
并构建了一个脚本ssh-allowcmd.sh
来执行给定的命令或/bin/bash
进行交互式访问。
有更好的解决方案吗?
Dan*_*ley 20
如果您使用的是 OpenSSH 5.1 或更高版本,那么它支持Match Group negation。
假设 admin 组的默认设置没问题,那么只需更改其他所有人:
Match Group *,!admin
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
对于最近的 OpenSSH 版本,真的没有理由依赖第三方 shell 来完成这种工作。
归档时间: |
|
查看次数: |
8319 次 |
最近记录: |