Sudo
El programa sudo (abreviatura del inglés superuser do o substitute user do) es una utilidad de los sistemas operativos tipo Unix, como GNU/Linux, BSD, o Mac OS X, que permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (normalmente el usuario root) de manera segura. Se instala por defecto en /usr/bin
.
Contenido
Instalación
Viene instalado por defecto en todas las variantes de Ubuntu.
Para tenerlo en caso de haberlo desinstalado, instalamos el paquete sudo de los repositorios oficiales de Ubuntu.
Uso
Los usuarios deben confirmar su identidad al ejecutar sudo dando su propia contraseña antes de ejecutar el programa requerido. Una vez se ha autenticado el usuario, y si el archivo de configuración /etc/sudoers
permite dar al usuario acceso al comando requerido, el sistema lo ejecuta y lo registra. En un entorno gráfico, se usan interfaces gráficas como kdesu o gksu para ejecutar aplicaciones administrativas, tales como Synaptic o (en Mac OS X) Software Update.
El archivo de configuración /etc/sudoers
especifica qué usuarios pueden ejecutar qué comandos en nombre de qué otros usuarios. Como sudo es muy estricto con el formato de este archivo, y cualquier error podría causar problemas serios, existe la utilidad visudo; ésta permite al usuario root editar el archivo y luego revisar su corrección antes de guardarlo.
Un ejemplo de consola, donde el usuario no tiene acceso: <bash>
$ sudo emacs /etc/fstab We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. Password: fulano is not in the sudoers file. This incident will be reported.
(Esperamos que haya recibido el sermón usual del Administrador de Sistema. Normalmente se reduce a estas tres cosas: #1) Respete la privacidad de los otros. #2) Piense antes de escribir. #3) Un gran poder conlleva una gran responsabilidad. Contraseña: fulano no está en el archivo sudoers. Este incidente será reportado.
Se muestra a continuación el registro de este intento fallido, y de uno exitoso posterior, después de haber añadido a fulano a /etc/sudoers:
$ sudo tail /var/log/auth.log Aug 5 06:00:28 localhost sudo: fulano : user NOT in sudoers ; TTY=pts/1 ; PWD=/home/fulano ; USER=root ; COMMAND=/usr/bin/emacs /etc/fstab Aug 5 06:01:15 localhost su[15573]: (pam_unix) session opened for user root by fulano(uid=1000) Aug 5 06:02:09 localhost sudo: fulano : TTY=pts/1 ; PWD=/home/fulano ; USER=root ; COMMAND=/usr/bin/emacs /etc/fstab Aug 5 06:02:49 localhost sudo: fulano : TTY=pts/1 ; PWD=/home/fulano ; USER=root ; COMMAND=/usr/bin/tail /var/log/auth.log </bash>
Los sistemas operativos Ubuntu y Mac OS X fuerzan a hacer todo acceso administrativo por medio de sudo, pues la contraseña de root está desactivada por defecto; aunque se puede activar con ayuda del programa passwd en Ubuntu.
Registro de los comandos
sudo no registra los programas que se escriban en un intérprete de comandos. Por ejemplo, si un usuario puede acceder a un intérprete por medio de sudo y ejecuta sudo -s
, ninguno de los comandos en él escritos será registrado. Para poder registrar comandos dentro de un intérprete de comandos, sudo debe ser usado junto con otra herramienta de seguridad, tal como sudosh, que le dará al usuario un intérprete con registro.
Ver también
Aplicaciones similares
Enlaces externos
- Sitio web oficial de sudo (en inglés)
- sudo(8) página de man bajo OpenBSD (en inglés)
- sudo(8) página de man bajo GNU/Linux (en inglés)
Este artículo es, por ahora, sólo un esbozo.
Ampliándolo ayudarás a mejorar Guía Ubuntu.