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 라인

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

모든 기준을 만족해야합니다.

정확한 구문이 확실하지 않습니다. 따옴표가 필요할 수 있습니다.

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

먼저 사용자 이름을 제외한 그룹에 설정을 적용한 다음 사용자 이름에 (기타) 설정을 적용하십시오. 사용자 username에 '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 
에서 사용자가 로그인