Diferencia entre revisiones de «Sudo»

De CURE - Informática
Ir a la navegación Ir a la búsqueda
(Página creada con '=== sudo === Control de privilegios de usuarios mediante sudo. Comandos: su, sudo, visudo Archivos: /etc/sudoers == Objetivos == Configurar privilegios de usuarios mediant...')
 
m
 
(No se muestran 7 ediciones intermedias de 2 usuarios)
Línea 1: Línea 1:
=== sudo ===
+
== 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 73: Línea 73:
  
 
Fuente: http://www.rpublica.net/sudo/sudoers.html
 
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
 +
 +
  
  
Línea 86: Línea 112:
 
  # Host alias specification
 
  # Host alias specification
 
  # User alias specification
 
  # User alias specification
  User_Alias AUDITORES = victor, celia, aline, pablo, juan, profe
+
  User_Alias AUDITORES = pgarcia, jguida, vagonbar
 
  # Cmnd alias specification
 
  # Cmnd alias specification
 
  Cmnd_Alias CMD_AUDITOR = /bin/less, /bin/more, /bin/cat, /usr/bin/tail, /usr/bin/head
 
  Cmnd_Alias CMD_AUDITOR = /bin/less, /bin/more, /bin/cat, /usr/bin/tail, /usr/bin/head
Línea 103: Línea 129:
  
  
 +
==== Impedir sudo su root ====
  
== Referencias ==
+
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.
 
     * Sudoers. Ubuntu Community. Ubuntu Documentatio.
  
 
       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