Estoy permitiendo a un amigo una cuenta local en mi máquina, exclusivamente para SCP. ¿Puedo especificar el shell de su cuenta como /bin/true, o de alguna otra manera limitar la cuenta, mientras sigo permitiendo SCP?
fuente
Estoy permitiendo a un amigo una cuenta local en mi máquina, exclusivamente para SCP. ¿Puedo especificar el shell de su cuenta como /bin/true, o de alguna otra manera limitar la cuenta, mientras sigo permitiendo SCP?
Puede establecer el shell de ese usuario en rssho scponly, que están diseñados precisamente para ese propósito:
rssh es un shell restringido para usar con OpenSSH, que solo permite scp y / o sftp. Ahora también incluye soporte para rdist, rsync y cvs.
scponly es un 'shell' alternativo (de algún tipo) para los administradores de sistemas que deseen proporcionar acceso a usuarios remotos para leer y escribir archivos locales sin proporcionar ningún privilegio de ejecución remota.
Cuando ejecuta scp, el demonio OpenSSH dispara un scpproceso con la -fopción. Cuando ejecuta sftp, el demonio OpenSSH dispara un sftp-serverproceso. En cualquier caso, el subproceso se ejecuta a través del shell del usuario, por lo que el shell debe admitir al menos estos comandos, con una sintaxis similar a Bourne. Cualquier shell de estilo Bourne servirá, al igual que csh (creo que sus reglas de comillas son lo suficientemente compatibles para qué sshdusos). Rssh y scponly permiten estos comandos y nada más. /bin/trueNi siquiera ejecutaría estos comandos.
/bin/falseu otro programa que no hace nada, ni scp ni sftp funcionarán. Para ambos comandos, el daemon SSH dispara un comando de shell que ejecuta un proceso de servidor dedicado (scp -fosftp-server). Necesita un shell de estilo Bourne, o al menos una aproximación lo suficientemente cercana (como larsshque permite solo estos pocos comandos).No, tu no. Como señaló Gilles, rssh funciona muy bien para este fin, al igual que scponly . Vea también la discusión en esta pregunta relacionada .
fuente
/bin/false, no funcionará, ni chmod 644 ksh .