Ejecutar comandos de administración con sudo sin tener que poner la contraseña
Hay gente a la que le molesta mucho tener que poner la contraseña cada vez que necesita realizar una acción de administrador. Se puede quitar la opción de que nos pida la contraseña para cada acción, aunque esto es sumamente peligroso, ya que puede que acabemos realizando acciones irreversibles por error o que alguien de forma malintencionada tome el control total de nuestra máquina.
Hecho este aviso, como se puede hacer, explico cómo hacerlo, pero que cada uno asuma los riesgos que sea capaz de asumir.
Primero, editaremos el fichero /etc/sudoers. Una forma fácil de editarlo directamente es con visudo:
sudo visudo
Aunque podríamos escribir nuestro usuario donde queramos, por ser limpios, buscaremos el bloque:
# User privilege specification root ALL=(ALL:ALL) ALL
y, si nuestro usuario se llama, por ejemplo, fernando, y queremos que no pida nunca la clave de administrador cuando ejecutemos cualquier comando, escribiremos:
# User privilege specification root ALL=(ALL:ALL) ALL fernando ALL=(ALL) NOPASSWD:ALL
Si estos privilegios los queremos circunscribir sólo a unos comandos, por ejemplo rm y apt, podemos especificarlos con:
# User privilege specification root ALL=(ALL:ALL) ALL fernando ALL=(ALL) NOPASSWD:/usr/bin/rm, /usr/bin/apt
Si queremos saber dónde se encuentran los ficheros ejecutables, podemos usar el comando which.
Ahora ya no necesitaremos escribir la contraseña, pero sí el comando sudo.
Si queremos usar apt, no podremos hacer:
$ apt update Leyendo lista de paquetes... Hecho E: No se pudo abrir el fichero de bloqueo «/var/lib/apt/lists/lock» - open (13: Permiso denegado) E: No se pudo bloquear el directorio /var/lib/apt/lists/ W: Se produjo un problema al desligar el fichero /var/cache/apt/pkgcache.bin - RemoveCaches (13: Permiso denegado) W: Se produjo un problema al desligar el fichero /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permiso denegado)
ya que no tenemos permisos con ese usuario, pero sí que podremos ejecutar:
$ sudo apt update Obj:1 http://es.archive.ubuntu.com/ubuntu focal InRelease Obj:2 http://archive.canonical.com/ubuntu focal InRelease Des:3 http://es.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Obj:4 http://ppa.launchpad.net/dawidd0811/neofetch/ubuntu focal InRelease Obj:5 http://ppa.launchpad.net/gezakovacs/ppa/ubuntu focal InRelease [...]