Esta es una idea de seguridad. Nuestros empleados tendrán acceso a algunos comandos en un servidor Linux, pero no a todos. Por ejemplo, deberán tener la posibilidad de acceder a un archivo de registro ( less logfile
) o iniciar diferentes comandos ( shutdown.sh
/ run.sh
).
Información de contexto:
Todos los empleados acceden al servidor con el mismo nombre de usuario: nuestro producto se ejecuta con permisos de usuario "normales", no se necesita "instalación". Simplemente descomprímalo en su directorio de usuario y ejecútelo. Gestionamos varios servidores donde está "instalada" nuestra aplicación. En cada máquina hay un usuario johndoe
. A veces, nuestros empleados necesitan acceder a la aplicación en la línea de comandos para acceder y comprobar los archivos de registro o para reiniciar la aplicación manualmente. Solo algunas personas tendrán acceso completo a la línea de comandos.
Estamos usando la autenticación ppk en el servidor.
Sería genial si employee1 solo pudiera acceder al archivo de registro y employee2 también pudiera hacer X, etc.
Solución:
como solución, usaré la command
opción como se indica en la respuesta aceptada . Haré mi propio pequeño script de shell que será el único archivo que se puede ejecutar para algunos empleados. El script ofrecerá varios comandos que se pueden ejecutar, pero ningún otro. Usaré los siguientes parámetros authorized_keys
como se indica aquí :
command="/bin/myscript.sh",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty
ssh-dss AAAAB3....o9M9qz4xqGCqGXoJw= user@host
Esto es suficiente seguridad para nosotros. ¡Gracias, comunidad!