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 rssh
o 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 scp
proceso con la -f
opción. Cuando ejecuta sftp, el demonio OpenSSH dispara un sftp-server
proceso. 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é sshd
usos). Rssh y scponly permiten estos comandos y nada más. /bin/true
Ni siquiera ejecutaría estos comandos.
/bin/false
u 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 -f
osftp-server
). Necesita un shell de estilo Bourne, o al menos una aproximación lo suficientemente cercana (como larssh
que 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 .