Sto concedendo a un amico un account locale sulla mia macchina, esclusivamente per SCP. Posso specificare la shell del suo account in quanto /bin/true
, o in altro modo limitare l'account, pur consentendo a SCP?
Sto concedendo a un amico un account locale sulla mia macchina, esclusivamente per SCP. Posso specificare la shell del suo account in quanto /bin/true
, o in altro modo limitare l'account, pur consentendo a SCP?
Risposte:
È possibile impostare la shell di quell'utente su rssh
o scponly
, che sono progettati proprio a tale scopo:
rssh è una shell limitata da utilizzare con OpenSSH, che consente solo scp e / o sftp. Ora include anche il supporto per rdist, rsync e cvs.
scponly è una 'shell' alternativa (di sorta) per gli amministratori di sistema che vorrebbero fornire agli utenti remoti l'accesso a entrambi i file locali di lettura e scrittura senza fornire privilegi di esecuzione remota.
Quando esegui scp, il demone OpenSSH avvia un scp
processo con l' -f
opzione. Quando si esegue sftp, il demone OpenSSH avvia un sftp-server
processo. In entrambi i casi, il sottoprocesso viene eseguito tramite la shell dell'utente, pertanto tale shell deve supportare almeno questi comandi, con una sintassi simile a Bourne. Qualsiasi shell in stile Bourne lo farà, così come csh (penso che le sue regole di quotazione siano abbastanza compatibili per ciò che sshd
usa). Rssh e scponly consentono questi comandi e nient'altro. /bin/true
non avrebbe nemmeno eseguito questi comandi.
/bin/false
o un altro programma che non fa nulla, né scp né sftp funzioneranno. Per entrambi i comandi, il daemon SSH avvia un comando shell che esegue un processo server dedicato ( scp -f
o sftp-server
). Ha bisogno di una shell in stile Bourne, o almeno di un'approssimazione abbastanza vicina (come quella rssh
che consente solo questi pochi comandi attraverso).
No, non lo fai. Come ha sottolineato Gilles, rssh funziona molto bene a tal fine, così come scponly . Vedi anche la discussione in questa domanda correlata .
/bin/false
non funzionerà, né lo farà chmod 644 ksh .