Configuration 具有多个匹配部分的SSD,覆盖设置
我的情况是,sshd应该只允许sftp访问一组用户 通过添加一个匹配部分(如Configuration 具有多个匹配部分的SSD,覆盖设置,configuration,ssh,sshd,Configuration,Ssh,Sshd,我的情况是,sshd应该只允许sftp访问一组用户 通过添加一个匹配部分(如 Match Group groupname ChrootDirectory /srv/ftp ForceCommand internal-sftp 现在我需要排除一个属于该组的用户。他应该有正常的外壳访问权限 Match User username ChrootDirectory ??? ForceCommand ??? 我在这里设置什么? 是否可以取消设置先前与另一个匹配节设置的配
Match Group groupname
ChrootDirectory /srv/ftp
ForceCommand internal-sftp
现在我需要排除一个属于该组的用户。他应该有正常的外壳访问权限
Match User username
ChrootDirectory ???
ForceCommand ???
我在这里设置什么?
是否可以取消设置先前与另一个匹配节设置的配置指令?不要添加
匹配用户
节。相反,通过将用户从原始匹配中排除来排除该用户
Match Group groupname User !username
ChrootDirectory /srv/ftp
ForceCommand internal-sftp
必须满足匹配
行上的所有标准,才能应用该部分
我不确定确切的语法。你可能需要报价
Match Group groupname User "!username"
ChrootDirectory /srv/ftp
ForceCommand internal-sftp
首先将设置应用于组(不包括用户用户名),然后将(其他)设置应用于用户用户名。如果未对用户用户名使用“ForceCommand”设置,则不会应用该设置
Match Group groupname User !username
ChrootDirectory /srv/ftp
ForceCommand internal-sftp
Match User username
PasswordAuthentication yes
另一个例子是,如果用户从不同的ip地址登录,您可能需要不同的设置
#all users except username1 and username2 default to sftp
Match User *,!username1,!username2
PasswordAuthentication yes
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp -f LOCAL0 -l INFO
#normal ssh allowed for users username1 and username2 from the local network
Match User username1,username2 Address 192.168.0.0/16
PasswordAuthentication yes
#users username1 and username2 not allowed from other networks
Match User username1,username2 Address *,!192.168.0.0/16
PasswordAuthentication yes
AllowTCPForwarding no
X11Forwarding no
ForceCommand /usr/sbin/nologin
对我有效的是将用户规则放在首位:
Match user lee
ChrootDirectory /mnt/s3
ForceCommand internal-sftp
Match group ftp
ChrootDirectory /home/%u
ForceCommand internal-sftp
对于其他偶然发现这一点的人来说,引用是不必要的,我只是在阅读之前无法让它起作用。结果发现模式匹配中有一个bug,您需要执行“匹配组groupname,User*,!username”,在我执行该操作后,它立即按预期工作。@nicolasmommarts With SSH Config,“可能会通过在前面加一个感叹号(“!”)来否定条件”。您也可以使用SSHD执行该操作吗<代码>匹配组foo!用户bar baz您的第二个示例正是我需要的,因此非常感谢。为了将“坏”用户分组在一起,我引入了一个组,例如,
badusers
:Match group badusers Address*,!192.168.0.0/16密码验证号