친구에게 내 컴퓨터에서 SCP 전용의 로컬 계정을 허용하고 있습니다. /bin/true
SCP를 허용하면서 자신의 계정 쉘을으로 지정 하거나 다른 방법으로 계정을 제한 할 수 있습니까?
친구에게 내 컴퓨터에서 SCP 전용의 로컬 계정을 허용하고 있습니다. /bin/true
SCP를 허용하면서 자신의 계정 쉘을으로 지정 하거나 다른 방법으로 계정을 제한 할 수 있습니까?
답변:
해당 사용자의 쉘을 rssh
또는로 설정할 수 있으며 scponly
이는 해당 목적을 위해 정확하게 설계되었습니다.
rssh는 OpenSSH와 함께 사용하기위한 제한된 쉘로 scp 및 / 또는 sftp 만 허용합니다. 또한 rdist, rsync 및 cvs에 대한 지원도 포함됩니다.
scponly는 원격 실행 권한을 제공하지 않고 로컬 파일을 읽고 쓸 수있는 원격 사용자에게 액세스를 제공하려는 시스템 관리자를위한 대체 '쉘'입니다.
scp를 실행하면 OpenSSH 데몬 scp
이 -f
옵션을 사용 하여 프로세스를 시작합니다 . sftp를 실행하면 OpenSSH 데몬이 sftp-server
프로세스를 시작합니다. 두 경우 모두 하위 프로세스는 사용자의 셸을 통해 실행되므로 셸은 Bourne과 유사한 구문으로 최소한 이러한 명령을 지원해야합니다. csh와 마찬가지로 모든 Bourne 스타일 쉘이 수행합니다 (따옴표 규칙은 sshd
용도에 따라 호환 가능하다고 생각 합니다). Rssh와 scponly는 이러한 명령을 허용하고 다른 것은 허용하지 않습니다. /bin/true
이 명령조차 실행하지 않습니다.
/bin/false
있거나 다른 프로그램이 없으면 scp 나 sftp가 작동하지 않습니다. 두 명령 모두 SSH 데몬이 전용 서버 프로세스 ( scp -f
또는 sftp-server
) 를 실행하는 쉘 명령을 시작합니다 . Bourne 스타일의 셸 또는 최소한의 근사치 (예 : rssh
몇 가지 명령 만 허용)가 필요합니다.