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 rssho 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 scpprocesso con l' -fopzione. Quando si esegue sftp, il demone OpenSSH avvia un sftp-serverprocesso. 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 sshdusa). Rssh e scponly consentono questi comandi e nient'altro. /bin/truenon avrebbe nemmeno eseguito questi comandi.
/bin/falseo 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 -fo sftp-server). Ha bisogno di una shell in stile Bourne, o almeno di un'approssimazione abbastanza vicina (come quella rsshche 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/falsenon funzionerà, né lo farà chmod 644 ksh .