Concedo a un amico un account locale sulla mia macchina, esclusivamente per SCP. Posso specificare la shell del suo account come /bin/true
, o in qualsiasi altro modo limitare l'account, pur consentendo SCP?
Risposta accettata:
Puoi impostare la shell di quell'utente su rssh
o scponly
, che sono progettati proprio per questo scopo:
rssh è una shell limitata per l'uso con OpenSSH, che consente solo scp e/o sftp. Ora include anche il supporto per rdist, rsync e cvs.
scponly è una "shell" alternativa (una specie di) per gli amministratori di sistema che desiderano fornire l'accesso agli utenti remoti sia per leggere che per scrivere file locali senza fornire alcun privilegio di esecuzione remota.
Quando esegui scp, il demone OpenSSH attiva un scp
procedi con il -f
opzione. Quando esegui sftp, il demone OpenSSH attiva un sftp-server
processi. In entrambi i casi, il sottoprocesso viene eseguito tramite la shell dell'utente, quindi la shell deve supportare almeno questi comandi, con una sintassi simile a Bourne. Qualsiasi shell in stile Bourne andrà bene, così come csh (penso che le sue regole di quotazione siano abbastanza compatibili per ciò che sshd
usi). Rssh e scponly consentono questi comandi e nient'altro. /bin/true
non eseguirebbe nemmeno questi comandi.