¿Restringir el acceso de una cuenta en linux?

¿Restringir el acceso de una cuenta en linux?

Creé una cuenta de servicio en mi máquina Redhat. El propósito de la cuenta es ejecutar el script bash que creé.

El script bash básicamente verifica las propiedades del sistema como cpuinfo, ifconfig, estado de la red, puertos, procesos, permisos de archivos y estado del dispositivo, etc.

Ahora, ¿cómo hago para que mi cuenta de servicio ejecute solo el script que había creado? Aparte de eso, esta cuenta no debería hacer nada, incluso si alguien inicia sesión en mi servidor con las credenciales de la cuenta de servicio, no debería poder hacer ni siquiera el Comandos básicos como ls,cp,mv,date, etc. excepto la ejecución del script.

Respuesta1

basado en su tema decómo restringir el acceso de una cuenta en Linux,

crearía esa cuenta y un nuevo grupo para ella, donde el nombre del grupo podría ser el mismo que el nombre de la cuenta, por ejemplo. El resultado sería que solo esta cuenta de usuario estaría en este nuevo grupo y sería completamente única, donde nada más en el sistema tiene permisos de propietario o grupo relacionados con este nuevo nombre de cuenta de servicio y grupo de cuentas de servicio. Luego configure su script bash para que sea propiedad de esta cuenta de servicio y el nombre del grupo de servicios. Además, configure el shell de inicio de sesión para esta cuenta en /bin/falseo /bin/nologin.

¿Cuál es la diferencia entre /sbin/nologin y /bin/false?

Sin embargo, tenga en cuenta que acaba de crear una cuenta nueva con el único propósito de ejecutar un script.creado. Desde una perspectiva de seguridad, usted acaba de dar un paso adicional que es de poco valor, y ahora cualquiera que no sea usted y vea esta nueva cuenta de servicio ejecutándose en segundo plano sin saberlo, se rascará la cabeza y se preguntará qué diablos es eso.

Una mejor manera es que, dado que es su script, lo mantenga en su propiedad.usted es un usuario válido y todos reconocerán su cuenta cuando esté vinculada a algún proceso en ejecución- y luego use el bit setuid en su script para otorgarle los permisos para realizar las tareas, ya que la mayor parte de lo que mencionó para verificar las propiedades del sistema requiere privilegios de root

Mencioné aprovechar SETUID y eso era incorrecto porque estás usando unscript de shell, por razones que se pueden explicar aquí: Permitir setuid en scripts de shell

Sin embargo, si escribe y compila un programa para hacer las cosas que necesita, cuyo ejecutable sería de su propiedad, entonces podría aprovechar SETUID en ese ejecutable:

Usando el bit setuid correctamente

información relacionada