Pregunta :Cómo evitar que un usuario determinado pueda ejecutar un comando específico.
Esta técnica utiliza una lista de control de acceso (ACL) del sistema de archivos para evitar el acceso no deseado.
Precaución :La función sudo no es adecuada para este propósito. En particular, "restar" un ejecutable del valor predeterminado TODO permitido no funciona como se esperaba.El siguiente ejemplo evita que el usuario john cree directorios a través del comando mkdir. Los pasos son:
1. Encuentre la ruta absoluta al comando a controlar:
# which mkdir /bin/mkdir
2. Muestre la ACL actual para ese programa:
# getfacl /bin/mkdir # file: bin/mkdir # owner: root # group: root user::rwx group::r-x other::r-x
Las entradas de usuario, grupo y otras corresponden a los permisos tradicionales de acceso a archivos administrados por el comando chmod.
3. Agregue una regla de control de acceso para el usuario john:
# /bin/setfacl -m u:john:--- /bin/mkdir
4. Ver el control de acceso actualizado:
# getfacl /bin/mkdir getfacl: Removing leading '/' from absolute path names # file: bin/mkdir # owner: root # group: root user::rwx user:john:--- group::r-x mask::rwx other::r-x
5. Pruebe la configuración:
# su - john $ mkdir -bash: /bin/mkdir: Permission denied
Considere agregar una vigilancia de ejecución usando la herramienta auditctl para aumentar esta protección.
Cómo auditar todos los comandos ejecutados en OEL 5,6 usando auditd