Diferencia entre revisiones de «Sudo»
m |
|||
(No se muestran 4 ediciones intermedias de otro usuario) | |||
Línea 1: | Línea 1: | ||
− | + | == sudo == | |
Control de privilegios de usuarios mediante sudo. | Control de privilegios de usuarios mediante sudo. | ||
Línea 8: | Línea 8: | ||
− | == Objetivos == | + | === Objetivos === |
Configurar privilegios de usuarios mediante sudo, definiendo grupos de usuarios, grupos de comandos, y grupos de máquinas desde donde puede hacerse sudo a la máquina local. | Configurar privilegios de usuarios mediante sudo, definiendo grupos de usuarios, grupos de comandos, y grupos de máquinas desde donde puede hacerse sudo a la máquina local. | ||
Línea 27: | Línea 27: | ||
− | == Software == | + | === Software === |
Paquete: sudo, incluido en la instalación básica. | Paquete: sudo, incluido en la instalación básica. | ||
− | Comandos: sudo, visudo, gksudo. | + | Comandos: sudo, visudo, gksudo. su |
Páginas man: sudo, visudo, sudoers, gksudo. | Páginas man: sudo, visudo, sudoers, gksudo. | ||
Archivos: /etc/sudoers | Archivos: /etc/sudoers | ||
Línea 46: | Línea 46: | ||
− | == Modificación de sudoers para reglas de acceso. == | + | === Modificación de sudoers para reglas de acceso. === |
Línea 128: | Línea 128: | ||
%admin ALL=(ALL) ALL | %admin ALL=(ALL) ALL | ||
− | == Referencias == | + | |
+ | ==== Impedir sudo su root ==== | ||
+ | |||
+ | Para trabajar como root se puede hacer sudo su root o sudo su | ||
+ | |||
+ | Pasando de trabajar como <Usuario>@<maquina> a root@maquina | ||
+ | |||
+ | La idea es impedir trabajar como root, pero sin quitar privilegios a los administradores. | ||
+ | |||
+ | Por defecto el comando su se encuentra en /bin/su | ||
+ | Se debe editar el archivo /etc/sudoers | ||
+ | -> sudo visudo -f /etc/sudoers | ||
+ | Se agregan las siguientes lineas | ||
+ | |||
+ | Cmnd_Alias SUDOSU = /bin/su "", /bin/su root | ||
+ | %admin ALL=(ALL) ALL, !SUDOSU | ||
+ | |||
+ | El archivo completo queda de esta manera: | ||
+ | |||
+ | # /etc/sudoers | ||
+ | # | ||
+ | # This file MUST be edited with the 'visudo' command as root. | ||
+ | # | ||
+ | # See the man page for details on how to write a sudoers file. | ||
+ | # | ||
+ | |||
+ | Defaults env_reset | ||
+ | |||
+ | # Host alias specification | ||
+ | |||
+ | # User alias specification | ||
+ | |||
+ | # Cmnd alias specification | ||
+ | Cmnd_Alias SUDOSU = /bin/su "", /bin/su root | ||
+ | # User privilege specification | ||
+ | root ALL=(ALL) ALL | ||
+ | |||
+ | # Allow members of group sudo to execute any command after they have | ||
+ | # provided their password | ||
+ | # (Note that later entries override this, so you might need to move | ||
+ | # it further down) | ||
+ | %sudo ALL=(ALL) ALL | ||
+ | # | ||
+ | #includedir /etc/sudoers.d | ||
+ | |||
+ | # Members of the admin group may gain root privileges | ||
+ | %admin ALL=(ALL) ALL, !SUDOSU | ||
+ | |||
+ | |||
+ | === Referencias === | ||
# Créditos: Nicolás Guerra, Marcos Rodríguez. | # Créditos: Nicolás Guerra, Marcos Rodríguez. | ||
Línea 135: | Línea 184: | ||
https://help.ubuntu.com/community/Sudoers | https://help.ubuntu.com/community/Sudoers | ||
+ | |||
+ | [[Category:Descontinuadas]] |
Revisión actual - 18:08 14 ene 2022
sudo
Control de privilegios de usuarios mediante sudo.
Comandos: su, sudo, visudo
Archivos: /etc/sudoers
Objetivos
Configurar privilegios de usuarios mediante sudo, definiendo grupos de usuarios, grupos de comandos, y grupos de máquinas desde donde puede hacerse sudo a la máquina local.
Esquema de privilegios.
- Comandos:
- CMDS_AUDITOR:
- CMDS_USUARIOS:
- Usuarios:
- AUDITORES:
- ADM-USUARIOS:
- Máquinas:
- CUREROCHA:
- Los usuarios AUDITORES pueden correr sus comandos desde cualquier máquina; los usuarios ADM-USUARIOS sólo pueden correr sus comandos desde las máquinas CUREROCHA.
Crear este esquema de privilegios escribiendo un archivo /etc/sudoers adecuado, y probar los privilegios concedidos.
Software
Paquete: sudo, incluido en la instalación básica. Comandos: sudo, visudo, gksudo. su Páginas man: sudo, visudo, sudoers, gksudo. Archivos: /etc/sudoers Procedimiento
- 1. Definir el esquema de privilegios:
- - grupos de comandos para diferentes objetivos, e.g. respaldo, auditoría, adm-usuarios.
- - grupos de máquinas desde donde puede ejecutarse sudo.
- - grupos de usuarios para diferentes tareas, e.g. respaldo, auditores, adm-usuarios.
- 2. Editar el archivo /etc/sudoers con el utilitario visudo.
- 3. Probar los privilegios concedidos: que cada usuario tiene los que debe tener, y no tiene los que no debe tener.
Modificación de sudoers para reglas de acceso.
El el archivo /etc/sudoers es donde se guardan todas las reglas de acceso, los alias y las opciones por defecto de sudo. En él estableceremos "quien puede ejecutar que y como" desde sudo.
Editamos el archivo sudoers (preferentemente con el comando visudo) -> sudo visudo -f /etc/sudoers
Dentro del archivo tenemos un campo llamado #User alias specification Con los alias nos referimos a cualquier tipo de elemento: comandos , usuarios ( normales o privilegiados) y hosts. Desde el momento en que hemos definido un alias para un elemento, puede utilizarse en cualquier lugar, incluida la definición de un alias , en el que se espere un usuario, un comando o un host. La forma general de una definición de alias es:
Tipo_Alias NOMBRE_ALIAS = elemento1, elemento2, elemento3, ......
Tipo_Alias Puede ser uno de los siguientes:
- Cmnd_Alias: Para definir alias de comandos.
- User_Alias: Para definir alias de usuarios "normales".
- Runas_Alias: Para definir alias de usuarios "privilegiados".
- Host_Alias: Para definir alias de hosts.
Luego para darle atribuciones a los usuarios, debajo del comentario # User privilege specification, hay que agregar una linea con esta sintaxis:
<usuario o User_Alias> <hosts o Host_Alias> = (<como quien se ejecuta el comando(*)>) <comandos o Cmnd_Alias>
(*) Si se omite este paréntesis, los comandos se ejecutan como root.
Fuente: http://www.rpublica.net/sudo/sudoers.html
Archivo /etc/sudoers que viene por defecto:
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command after they have # provided their password # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # #includedir /etc/sudoers.d # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL
Como ejemplo mostramos el archivo /etc/sudoers ya modificado:
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Host alias specification # User alias specification User_Alias AUDITORES = pgarcia, jguida, vagonbar # Cmnd alias specification Cmnd_Alias CMD_AUDITOR = /bin/less, /bin/more, /bin/cat, /usr/bin/tail, /usr/bin/head # User privilege specification root ALL=(ALL) ALL AUDITORES ALL = CMD_AUDITOR # Allow members of group sudo to execute any command after they have # provided their password # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # #includedir /etc/sudoers.d # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL
Impedir sudo su root
Para trabajar como root se puede hacer sudo su root o sudo su
Pasando de trabajar como <Usuario>@<maquina> a root@maquina
La idea es impedir trabajar como root, pero sin quitar privilegios a los administradores.
Por defecto el comando su se encuentra en /bin/su Se debe editar el archivo /etc/sudoers -> sudo visudo -f /etc/sudoers Se agregan las siguientes lineas
Cmnd_Alias SUDOSU = /bin/su "", /bin/su root %admin ALL=(ALL) ALL, !SUDOSU
El archivo completo queda de esta manera:
# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # Defaults env_reset # Host alias specification # User alias specification # Cmnd alias specification Cmnd_Alias SUDOSU = /bin/su "", /bin/su root # User privilege specification root ALL=(ALL) ALL # Allow members of group sudo to execute any command after they have # provided their password # (Note that later entries override this, so you might need to move # it further down) %sudo ALL=(ALL) ALL # #includedir /etc/sudoers.d # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL, !SUDOSU
Referencias
# Créditos: Nicolás Guerra, Marcos Rodríguez.
* Sudoers. Ubuntu Community. Ubuntu Documentatio.
https://help.ubuntu.com/community/Sudoers