sudo ( / s ü d ü / [4] o / s ü d oʊ / [4] [5] ) es un programa de tipo Unix computadora sistemas operativos que permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario, por defecto el superusuario . [6] Originalmente significaba "superuser do" [7] ya que las versiones anteriores desudo
fueron diseñados para ejecutar comandos solo como superusuario. Sin embargo, las versiones posteriores agregaron soporte para ejecutar comandos no solo como superusuario sino también como otros usuarios (restringidos) y, por lo tanto, también se expande comúnmente como "usuario sustituto". [8] [9] Aunque el último caso refleja su funcionalidad actual con mayor precisión, a sudo
menudo se le sigue llamando "superusuario do" ya que se usa con tanta frecuencia para tareas administrativas.
Autor (es) original (es) | Robert Coggeshall y Cliff Spencer |
---|---|
Desarrollador (es) | Todd C. Miller |
Versión inicial | Hacia 1980 [1] |
Lanzamiento estable | 1.9.6p1 / 15 de marzo de 2021 [2] |
Repositorio | |
Escrito en | C |
Sistema operativo | Tipo Unix |
Tipo | Autorización de privilegios |
Licencia | Estilo ISC [3] |
Sitio web | www |
A diferencia del comando similar su , los usuarios deben, de forma predeterminada, proporcionar su propia contraseña para la autenticación, en lugar de la contraseña del usuario de destino. Después de la autenticación, y si el archivo de configuración , que normalmente se encuentra en /etc/sudoers
, permite el acceso del usuario, el sistema invoca el comando solicitado. El archivo de configuración ofrece permisos de acceso detallados, incluidos los comandos de habilitación solo desde el terminal que invoca; requerir una contraseña por usuario o grupo; requiriendo el reingreso de una contraseña cada vez o nunca requiriendo una contraseña en absoluto para una línea de comando en particular. También se puede configurar para permitir el paso de argumentos o múltiples comandos.
Historia
Robert Coggeshall y Cliff Spencer escribieron el subsistema original alrededor de 1980 en el Departamento de Ciencias de la Computación de SUNY / Buffalo . [10] Robert Coggeshall trajo sudo a la Universidad de Colorado Boulder . Entre 1986 y 1993, el personal de TI del Departamento de Ciencias de la Computación de la Universidad de Colorado en Boulder y la Facultad de Ingeniería y Ciencias Aplicadas, incluido Todd C. Miller, modificaron sustancialmente el código y las características . [10] La versión actual ha sido mantenida públicamente por el desarrollador de OpenBSD Todd C. Miller desde 1994, [10] y se ha distribuido bajo una licencia estilo ISC desde 1999. [10]
En noviembre de 2009, Thomas Claburn, en respuesta a las preocupaciones de que Microsoft hubiera patentado sudo, [11] calificó esas sospechas de exageradas. [12] Las afirmaciones se enmarcaron estrictamente en una GUI en particular , en lugar del concepto de sudo. [13]
Diseño
A diferencia del comando su , los usuarios proporcionan su contraseña personal a sudo (si es necesario) en lugar de la del superusuario u otra cuenta. Esto permite a los usuarios autorizados ejercer privilegios alterados sin comprometer el secreto de la contraseña de la otra cuenta. Después de la autenticación, y si el archivo de configuración permite el acceso del usuario, el sistema invoca el comando solicitado. sudo retiene los derechos de invocación del usuario a través de un período de gracia (normalmente 5 minutos) por pseudo terminal , lo que permite al usuario ejecutar varios comandos sucesivos como el usuario solicitado sin tener que volver a proporcionar una contraseña.
Como función de seguridad y auditoría, sudo puede configurarse para registrar cada ejecución de comando. Cuando un usuario intenta invocar sudo sin estar incluido en el archivo de configuración, se le presenta una indicación de excepción que indica que el intento ha sido registrado. El usuario root será alertado por correo y se registrará una entrada en el sistema.
Configuración
El archivo / etc / sudoers contiene una lista de usuarios o grupos de usuarios con permiso para ejecutar un subconjunto de comandos mientras tienen los privilegios del usuario root u otro usuario especificado. El programa puede configurarse para requerir una contraseña. [14]
Impacto
En algunas distribuciones del sistema, sudo ha suplantado en gran medida el uso predeterminado de un inicio de sesión de superusuario distinto para tareas administrativas, sobre todo en algunas distribuciones de Linux , así como en macOS de Apple . [15] [16] Esto permite un registro más seguro de los comandos de administración y previene algunas vulnerabilidades.
RBAC
En asociación con SELinux , sudo se puede utilizar para la transición entre roles en el control de acceso basado en roles (RBAC). [17]
Herramientas y programas similares
visudo es una utilidad de línea de comandos que permite editar el archivo de configuración de sudo de manera segura. Evita múltiples ediciones simultáneas con bloqueos y realiza comprobaciones de cordura y sintaxis .
El programa runas proporciona una funcionalidad similar en Microsoft Windows , pero no puede pasar directorios actuales, variables de entorno o líneas de comando largas al niño. Y aunque admite ejecutar al niño como otro usuario, no admite la elevación simple. Un verdadero Do y sudo para Windows que puede pasar todas las que la información de estado y comenzar el niño ya sea elevado o como otro usuario (o ambos) se incluye con Hamilton C shell . [18] [19]
Existen interfaces gráficas de usuario para sudo, en particular gksudo , pero están obsoletas en Debian y ya no se incluyen en Ubuntu . [20] [21] Otras interfaces de usuario no se crean directamente en sudo, pero proporcionan una elevación de privilegios temporal similar para fines administrativos, como pkexec en sistemas operativos similares a Unix, Control de cuentas de usuario en Microsoft Windows y Servicios de autorización de Mac OS X. [22]
doas , disponible desde OpenBSD 5.8 (octubre de 2015), se ha escrito para reemplazar sudo en el sistema base de OpenBSD , y este último todavía está disponible como puerto . [23]
Ver también
- chroot
- Comparación de funciones de autorización de privilegios
Referencias
- ^ Miller, Todd C. "Una breve historia de Sudo" . Consultado el 15 de noviembre de 2018 .
- ^ "Noticias de Sudo" . Consultado el 16 de marzo de 2021 .
- ^ Todd C. Miller (17 de junio de 2011). "Licencia Sudo" . sudo.ws . Consultado el 17 de noviembre de 2011 .
- ^ a b Miller, Todd C. "Consejos para la resolución de problemas y preguntas frecuentes sobre Sudo" . Consultado el 20 de noviembre de 2009 .
- ^ "¿Cómo se pronuncia" sudo "?" . Ars Technica.
- ^ Cohen, Noam (26 de mayo de 2008). "Esto es divertido sólo si conoces Unix" . The New York Times . Consultado el 9 de abril de 2012 .
- ^ https://pthree.org/2009/12/31/the-meaning-of-su/
- ^ "Sudo - ArchWiki" ( MediaWiki ) . wiki.archlinux.org .
- ^ Haeder, A .; Schneiter, SA .; Pessanha, BG; Stanger, J. Certificación de Linux LPI en pocas palabras . O'Reilly Media, 2010. p. 409. ISBN 978-0596804879 .
- ^ a b c d Miller, Todd C. "Una breve historia de Sudo" . Consultado el 8 de febrero de 2021 .
- ^ Lilly, Paul. "Microsoft ha patentado" sudo. "Sí, el comando" . Consultado el 13 de noviembre de 2009 .
- ^ Thomas, Claburn (16 de noviembre de 2009). "¿La nueva patente de Microsoft infringe el programa Unix Sudo? Algunos en la comunidad de código abierto sospechan de la intención de Microsoft" . Lectura oscura . Consultado el 29 de noviembre de 2010 .
Una patente concedida a Microsoft (NSDQ: MSFT) ha despertado la preocupación de que la empresa de software más grande del mundo quiera reclamar el "sudo" de Unix como propio. [...] En resumen, las sospechas sobre esta patente son exageradas.
- ^ Eaton, Nick (12 de noviembre de 2009). "¿Microsoft acaba de patentar furtivamente una herramienta de código abierto?" . seattlepi.com . Consultado el 24 de abril de 2011 .
- ^ "Sudo Manual" . Consultado el 8 de febrero de 2021 .
- ^ "RootSudo" . Documentación comunitaria de Ubuntu . help.ubuntu.com. 2011-11-08 . Consultado el 17 de noviembre de 2011 .
- ^ "Diez consejos principales de Mac OS X para geeks de Unix" . MacDevCenter.com . Consultado el 17 de noviembre de 2011 .
- ^ "Bloqueo de SELinux, parte cinco: SELinux RBAC" . Consultado el 17 de noviembre de 2012 .
- ^ "su" . Laboratorios Hamilton . Consultado el 17 de agosto de 2015 .
- ^ "Alias predefinidos: sudo" . Laboratorios Hamilton . Consultado el 17 de agosto de 2015 .
- ^ Bicha, Jeremy (30 de diciembre de 2017). "Eliminar gksu de Ubuntu" . Canonical , propietaria de Launchpad . Consultado el 10 de enero de 2020 .
- ^ "Paquetes de software en" bionic " " . Canonical . Consultado el 10 de enero de 2020 .
- ^ "Introducción a la guía de programación de los servicios de autorización" . developer.apple.com . Consultado el 17 de noviembre de 2011 .
- ^ "sudo-1.8.26 - ejecutar un comando como otro usuario" . Puertos OpenBSD . 2018-11-16.
enlaces externos
- Página web oficial