inhabilitar a los usuarios para que no creen nuevas instancias de shell

0

¿Hay alguna manera en que pueda impedir que los usuarios creen nuevas instancias de shell a través del archivo sudoers? También deshabilitarlos para establecer cualquier variable de entorno?

Me gustaría escribir una línea en el archivo sudoers algo como:

someuser ALL=(ALL) NOPASSWD: ALL, NOTSETENVVARS: ALL, NONEWSHELLINSTANCES: ALL

dónde: NOTSETENVVARS significa la instrucción para no establecer nuevos env vars NONEWSHELLINSTANCES significa que no hay nuevas instancias de shell

Gracias por adelantado

sevillo
fuente

Respuestas:

1

No trataría de combinar esto con ALL. Si está tratando de restringir a un usuario, primero enlístelos en una lista negra y luego en la lista blanca con cuidado.

Restringir escapes de shell con NOEXEC: Consulte la página del manual para más detalles: https://www.sudo.ws/man/1.8.16/sudoers.man.html#Preventing_shell_escapes

Restringir las variables de entorno (no completamente deshabilitado a mi conocimiento) con el uso creativo de env_reset y secure_path.

Ejemplo:

Defaults     env_reset
Defaults     secure_path
someuser ALL=(root) NOPASSWD: SOMESPECIFICCOMMANDS
someuser ALL=(root) NOEXEC: /usr/bin/vim

Además, compra el libro de Michael W. Lucas. Sudo Mastery . ¡Eso es genial! (Tiene algunos ejemplos mejores, pero pensé que sería mejor no plagiarlos).

CoreyJJohnson
fuente
0

No.

Controles como este no existen porque pueden ser burlados por el usuario al instalar / ejecutar su propio programa de shell sin las restricciones o con las restricciones eliminadas.

No hay forma de saber si un programa es un shell o no.

Además, el sudoers archivo solo controla la utilidad sudo, no todo lo que el usuario ejecuta antes de ejecutar sudo, o después de que hayan elevado.

Darth Android
fuente