2012-05-31 2 views
1

У меня есть ситуация, когда sshd должен разрешать sftp доступ только к группе пользователей.sshd с несколькими разделами соответствия, переопределение настроек

Это легко сделать, добавив раздел матча как

Match Group groupname 
    ChrootDirectory /srv/ftp 
    ForceCommand internal-sftp 

Теперь мне нужно, чтобы исключить один пользователь, который является членом этой группы. Он должен иметь нормальный доступ к оболочке.

Match User username 
    ChrootDirectory ??? 
    ForceCommand ??? 

Что я могу установить здесь? Можно ли отключить конфигурационные директивы, предварительно установленные с другим соответствующим разделом?

ответ

1

Не добавляйте раздел Match User. Вместо этого исключите пользователя, исключив его из исходного матча.

Match Group groupname User !username 
    ChrootDirectory /srv/ftp 
    ForceCommand internal-sftp 

Все критерии по Match линии должны быть выполнены для раздела будут применяться.

Я не уверен в точном синтаксисе. Вам могут понадобиться котировки.

Match Group groupname User "!username" 
    ChrootDirectory /srv/ftp 
    ForceCommand internal-sftp 
1

Сначала примените настройки к группе, исключая имя пользователя пользователя, а затем примените (другие) настройки к имени пользователя пользователя. Если вы не используете параметр «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 
Смежные вопросы