¿Qué es Sudo y para qué sirve?

¿Qué es Sudo y para qué sirve?

El programa Sudo permite implementar un control de acceso altamente granulado y útil en los sistemas operativos tipo Unix.

El programa Sudo (super user do, en Inglés) es una utilidad de los sistemas operativos tipo Unix, como 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, convirtiéndose así temporalmente en súper usuario.

Dicho programa fue escrito originalmente por Bob Coggeshall y Cliff Spencer en 1980, en el departamento de ciencias de la computación de la Universidad estatal de Nueva York.

La versión actual la mantiene el desarrollador de OpenBSD Todd C. Miller y se distribuye bajo una licencia BSD.

¿Para qué sirve Sudo?

El portal www.linuxtotal.com asegura que el programa Sudo permite implementar un control de acceso altamente granulado de que usuarios ejecutan que comandos.

“Si un usuario normal desea ejecutar un comando de root (o de cualquier otro usuario), Sudo verifica en su lista de permisos y si está permitido la ejecución de ese comando para ese usuario, entonces Sudo se encarga de ejecutarlo”, explica Linuxtotal.

Luego amplía la información: “Es decir, sudo es un programa que basado en una lista de control (/etc/sudoers) permite (o no) la ejecución al usuario que lo invocó sobre un determinado programa propiedad de otro usuario, generalmente del administrador del sistema 'root'”.

En la actualidad, para fines prácticos el programa se puede dividir en tres partes: “Sudo, el comando con permisos de SUID, que los usuarios usan para ejecutar otros comandos a los que se les permite usar. Visudo, el comando que permite al administrador modificar /etc/sudoers. Y, por último “/etc/sudoers”, el archivo de permisos que le indica a sudo que usuarios ejecutan cuáles comandos”.

Paso a paso para usar Sudo

La página www.linuxtotal.com ofrece un listado paso a paso de cómo usar Sudo y acá te lo mostramos:

1.- Sudo lo ejecuta un usuario normal, al que se supone tiene permisos para ejecutar cierto comando. Entonces, sudo requiere que los usuarios se autentifiquen a sí mismos a través de su contraseña para permitirles la ejecución del comando.

Ejemplo:

$ sudo /sbin/ifconfig
Password:
eth0 Link encap:Ethernet HWaddr 4C:00:10:60:5F:21
inet addr:200.13.110.62 Bcast:200.13.110.255 Mask:255.255.255.0
inet6 addr: fe80::4e00:10ff:fe60:5f21/64 Scope:Link

Como se podrá observar se usa el comando sudo seguido del comando (con toda su ruta si es que este no está en el PATH del usuario) al que se tiene permiso. Sudo pregunta por la contraseña del usuario que ejecuta el comando y listo.

Por defecto, después de hacer lo anterior tendrás 5 minutos para volver a usar el mismo comando u otros a los que tuvieras derecho, sin necesidad de ingresar la contraseña de nuevo.

Otros comandos

2.- ¿Qué comandos son los que puedo utilizar?, pues la opción -l es la indicada para eso:

Ejemplo:

$ sudo –l
User sergio may run the following commands on this host:
(root) /sbin/ifconfig
(root) /sbin/lspci

3.- En el caso anterior se ejecutó un comando de root, pero no tiene que ser asi, también es posible ejecutar comandos de otros usuarios del sistema indicando la opción -u:

Ejemplo:

$ sudo -u ana /comando/de/ana

4.- Una de las opciones más interesantes es la que permite editar archivos de texto de root (claro, con el permiso otorgado en 'sudoers' como se verá más adelante), y esto se logra con la opción -e, esta opción está ligada a otro comando de sudo llamado sudoedit que invoca al editor por defecto del usuario, que generalmente es vi.

Ejemplo:

$ sudo -e /etc/inittab

(Permitirá modificar el archivo indicado como si se fuera root)

5.- Cuando se configura sudo se tienen múltiples opciones que se pueden establecer, estás se consultan a través de la opción –L

Ejemplo:

$> sudo –L

Bastante útil, ya que nos muestra las opciones y una pequeña descripción, estás opciones se establecen en el archivo de configuración 'sudoers'.

6.- Por último, una de las opciones más importantes de consulta es -V, que permite listar las opciones (defaults) establecidas por defecto para sudo todos los usuarios, comandos, equipos, etc.

Ejemplo:

# sudo –V
Sudo version 1.6.9p5

Sudoers path: /etc/sudoers
Authentication methods: 'pam'
Syslog facility if syslog is being used for logging: local2
Syslog priority to use when user authenticates successfully: notice
Syslog priority to use when user authenticates unsuccessfully: alert (…)

Si deseas aprender un poco más el siguiente enlace te brindará información precisa sobre como configurar con el programa Sudo:

https://www.linuxtotal.com.mx/index.php?cont=info_admon_014,

******

Titulo alternativo: Cómo usa el programa Sudo

Meta descripción: El programa fue escrito originalmente por Bob Coggeshall y Cliff Spencer en 1980, en el departamento de ciencias de la computación de la Universidad estatal de Nueva York.

Palabra clave: programa Sudo

Etiquetas: El programa Sudo (super user do, en Inglés) es una utilidad de los sistemas operativos tipo Unix, como 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, convirtiéndose así temporalmente en súper usuario.

Dicho programa fue escrito originalmente por Bob Coggeshall y Cliff Spencer en 1980, en el departamento de ciencias de la computación de la Universidad estatal de Nueva York.

La versión actual la mantiene el desarrollador de OpenBSD Todd C. Miller y se distribuye bajo una licencia BSD.

¿Para qué sirve Sudo?

El portal www.linuxtotal.com asegura que el programa Sudo permite implementar un control de acceso altamente granulado de que usuarios ejecutan que comandos.

“Si un usuario normal desea ejecutar un comando de root (o de cualquier otro usuario), Sudo verifica en su lista de permisos y si está permitido la ejecución de ese comando para ese usuario, entonces Sudo se encarga de ejecutarlo”, explica Linuxtotal.

Luego amplía la información: “Es decir, sudo es un programa que basado en una lista de control (/etc/sudoers) permite (o no) la ejecución al usuario que lo invocó sobre un determinado programa propiedad de otro usuario, generalmente del administrador del sistema 'root'”.

En la actualidad, para fines prácticos el programa se puede dividir en tres partes: “Sudo, el comando con permisos de SUID, que los usuarios usan para ejecutar otros comandos a los que se les permite usar. Visudo, el comando que permite al administrador modificar /etc/sudoers. Y, por último “/etc/sudoers”, el archivo de permisos que le indica a sudo que usuarios ejecutan cuáles comandos”.

Paso a paso para usar Sudo

La página www.linuxtotal.com ofrece un listado paso a paso de cómo usar Sudo y acá te lo mostramos:

1.- Sudo lo ejecuta un usuario normal, al que se supone tiene permisos para ejecutar cierto comando. Entonces, sudo requiere que los usuarios se autentifiquen a sí mismos a través de su contraseña para permitirles la ejecución del comando.

Ejemplo:

$ sudo /sbin/ifconfig
Password:
eth0 Link encap:Ethernet HWaddr 4C:00:10:60:5F:21
inet addr:200.13.110.62 Bcast:200.13.110.255 Mask:255.255.255.0
inet6 addr: fe80::4e00:10ff:fe60:5f21/64 Scope:Link

Como se podrá observar se usa el comando sudo seguido del comando (con toda su ruta si es que este no está en el PATH del usuario) al que se tiene permiso. Sudo pregunta por la contraseña del usuario que ejecuta el comando y listo.

Por defecto, después de hacer lo anterior tendrás 5 minutos para volver a usar el mismo comando u otros a los que tuvieras derecho, sin necesidad de ingresar la contraseña de nuevo.

Otros comandos

2.- ¿Qué comandos son los que puedo utilizar?, pues la opción -l es la indicada para eso:

Ejemplo:

$ sudo –l
User sergio may run the following commands on this host:
(root) /sbin/ifconfig
(root) /sbin/lspci

3.- En el caso anterior se ejecutó un comando de root, pero no tiene que ser asi, también es posible ejecutar comandos de otros usuarios del sistema indicando la opción -u:

Ejemplo:

$ sudo -u ana /comando/de/ana

4.- Una de las opciones más interesantes es la que permite editar archivos de texto de root (claro, con el permiso otorgado en 'sudoers' como se verá más adelante), y esto se logra con la opción -e, esta opción está ligada a otro comando de sudo llamado sudoedit que invoca al editor por defecto del usuario, que generalmente es vi.

Ejemplo:

$ sudo -e /etc/inittab

(Permitirá modificar el archivo indicado como si se fuera root)

5.- Cuando se configura sudo se tienen múltiples opciones que se pueden establecer, estás se consultan a través de la opción –L

Ejemplo:

$> sudo –L

Bastante útil, ya que nos muestra las opciones y una pequeña descripción, estás opciones se establecen en el archivo de configuración 'sudoers'.

6.- Por último, una de las opciones más importantes de consulta es -V, que permite listar las opciones (defaults) establecidas por defecto para sudo todos los usuarios, comandos, equipos, etc.

Ejemplo:

# sudo –V
Sudo version 1.6.9p5

Sudoers path: /etc/sudoers
Authentication methods: 'pam'
Syslog facility if syslog is being used for logging: local2
Syslog priority to use when user authenticates successfully: notice
Syslog priority to use when user authenticates unsuccessfully: alert (…)

Si deseas aprender un poco más el siguiente enlace te brindará información precisa sobre como configurar con el programa Sudo:

https://www.linuxtotal.com.mx/index.php?cont=info_admon_014,