8 maneras de modificar y configurar sudo en Ubuntu
Como la mayoría de las cosas en Linux, el comando sudo es muy configurable. Puede hacer que sudo ejecute comandos específicos sin pedir una contraseña, restringir usuarios específicos a solo comandos aprobados, registrar comandos ejecutados con sudo y más.
El comportamiento del comando sudo está controlado por el archivo / etc / sudoers en su sistema. Este comando debe editarse con el comando visudo, que realiza la comprobación de la sintaxis para garantizar que no se rompa el archivo accidentalmente.
Especificar usuarios con permisos de sudo
La cuenta de usuario que crea al instalar Ubuntu está marcada como una cuenta de administrador, lo que significa que puede usar sudo. Cualquier cuenta de usuario adicional que cree después de la instalación puede ser una cuenta de administrador o una de usuario estándar. Las cuentas de usuario estándar no tienen permisos sudo.
Puede controlar los tipos de cuenta de usuario gráficamente desde la herramienta Cuentas de usuario de Ubuntu. Para abrirlo, haga clic en su nombre de usuario en el panel y seleccione Cuentas de usuario o busque Cuentas de usuario en el tablero.
Haz Sudo Olvida tu contraseña
De forma predeterminada, sudo recuerda su contraseña durante 15 minutos después de escribirla. Es por eso que solo tiene que escribir su contraseña una vez al ejecutar varios comandos con sudo en rápida sucesión. Si está a punto de permitir que otra persona use su computadora y desea que sudo solicite la contraseña cuando se ejecute a continuación, ejecute el siguiente comando y sudo olvidará su contraseña:
sudo -k
Siempre pida una contraseña
Si prefiere que se le pregunte cada vez que use sudo, por ejemplo, si otras personas tienen acceso a su computadora con regularidad, puede desactivar el comportamiento de recordar la contraseña por completo..
Esta configuración, como otras configuraciones sudo, está contenida en el archivo / etc / sudoers. Ejecute el comando visudo en un terminal para abrir el archivo y editarlo:
sudo visudo
A pesar de su nombre, este comando utiliza por defecto el nuevo editor nano fácil de usar en lugar del editor vi tradicional en Ubuntu.
Agregue la siguiente línea debajo de las otras líneas predeterminadas en el archivo:
Valores predeterminados timestamp_timeout = 0
Presione Ctrl + O para guardar el archivo y luego presione Ctrl + X para cerrar Nano. Sudo ahora siempre te pedirá una contraseña.
Cambiar el tiempo de espera de la contraseña
Para establecer un tiempo de espera de contraseña diferente, ya sea uno más largo, como 30 minutos o uno más corto, como 5 minutos, siga los pasos anteriores, pero use un valor diferente para timestamp_timeout. El número corresponde a la cantidad de minutos para los que sudo recordará su contraseña. Para que sudo recuerde su contraseña durante 5 minutos, agregue la siguiente línea:
Valores predeterminados timestamp_timeout = 5
Nunca pedir una contraseña
También puede hacer que sudo nunca solicite una contraseña; siempre que inicie sesión, cada comando que prefija con sudo se ejecutará con permisos de raíz. Para hacer esto, agregue la siguiente línea a su archivo sudoers, donde nombre de usuario es su nombre de usuario:
nombre de usuario ALL = (ALL) NOPASSWD: ALL
También puede cambiar la línea% sudo, es decir, la línea que permite a todos los usuarios del grupo sudo (también conocidos como usuarios de administrador) usar sudo, para que todos los usuarios de administrador no requieran contraseñas:
% sudo ALL = (ALL: ALL) NOPASSWD: ALL
Ejecutar comandos específicos sin una contraseña
También puede especificar comandos específicos que nunca requerirán una contraseña cuando se ejecuten con sudo. En lugar de usar "TODOS" después de NOPASSWD anterior, especifique la ubicación de los comandos. Por ejemplo, la siguiente línea le permitirá a su cuenta de usuario ejecutar los comandos apt-get y shutdown sin una contraseña.
nombre de usuario ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Esto puede ser particularmente útil cuando se ejecutan comandos específicos con sudo en un script.
Permitir que un usuario ejecute solo comandos específicos
Si bien puede hacer una lista negra de comandos específicos y evitar que los usuarios los ejecuten con sudo, esto no es muy efectivo. Por ejemplo, puede especificar que una cuenta de usuario no pueda ejecutar el comando shutdown con sudo. Pero esa cuenta de usuario podría ejecutar el comando cp con sudo, crear una copia del comando shutdown y apagar el sistema usando la copia.
Una forma más efectiva es hacer una lista blanca de comandos específicos. Por ejemplo, podría otorgar a una cuenta de usuario estándar permiso para usar los comandos apt-get y shutdown, pero no más. Para hacerlo, agregue la siguiente línea, donde el usuario estándar es el nombre de usuario del usuario:
usuario estándar ALL = / usr / bin / apt-get, / sbin / shutdown
El siguiente comando nos dirá qué comandos puede ejecutar el usuario con sudo:
sudo -U usuario estándar -l
Acceso de Sudo de registro
Puede registrar todos los accesos de sudo agregando la siguiente línea. / var / log / sudo es solo un ejemplo; Puede utilizar cualquier ubicación de archivo de registro que desee.
Archivo de registro por defecto = / var / log / sudo
Vea el contenido del archivo de registro con un comando como este:
sudo cat / var / log / sudo
Tenga en cuenta que, si un usuario tiene acceso a sudo sin restricciones, ese usuario tiene la capacidad de eliminar o modificar el contenido de este archivo. Un usuario también podría acceder a un indicador de raíz con sudo y ejecutar comandos que no se registrarían. La función de registro es más útil cuando se combina con cuentas de usuario que tienen acceso restringido a un subconjunto de comandos del sistema.