rp

Visudo


Mediante  visudo  podremos editar el archivo  /etc/sudoers  de una manera segura, evitando ediciones simultaneas por parte de varios usuarios: si  /etc/sudoers  está siendo editado recibiremos un mensaje diciendonos que lo intentemos mas tarde. De hecho,  visudo  bloquea el archivo  /etc/sudoers  mientras se esté editando.

Además, al finalizar la edición y antes de guardar el archivo modificado , visudo  realiza una comprobación de éste, impidiendo guardarlo si detecta errores sintácticos.

Localizado un error, nos avisará mediante un mensaje en el que se indica la linea en el cual se encuentra el error y la pregunta  "What now?" . Llegado a este punto el usuario tiene varias opciones:

e
Reeditar  /etc/sudoers  . El cursor se colocará en la linea en la que se ha detectado el error ( si el editor usado soporta esta funcionalidad).
x
Salir sin guardar los cambios.
Q
Salir guardando los cambios.

Para realizar su función, visudo utilizará uno de los editores que asignados en el momento de su compilación. De todas formas, el editor a utilizar puede fijarse en el archivo  /etc/sudoers , mediante la variable  editor,  de Defaults.

Por otra parte, si se configura visudo con el argumento  --with-enveditor  o se implementa la variable  enveditor,  en Defaults de  /etc/sudoers ,  visudo  podra utilizar cualquier editor definido en las variables de entorno de  sudo   VISUAL  o  EDITOR .
Debemos tener en cuenta que esto puede representar un problema de seguridad ya que posibilita que el usuario pueda ejecutar cuanquier programa con solo configurar las mencionadas variables de entorno.

La sintaxis de visudo es:


$ sudo visudo -f sudoers


Mediante la opción  -f  puede especificarse otra localización del archivo  sudoers . Ello nos permite editar o comprobar cualquier archivo  sudoers , no solo el archivo por defecto  /etc/sudoers .

El nombre del archivo temporal que se crea al bloquear  sudoers  frente a ediciones simultaneas es el mismo  sudoers  que se está editando , con la extensión  .tmp 


Opciones del comando visudo


Además de la comentada opción  -f , otras opciones utilizables con el comando  visudo  son :

-c

Antiva el modo de solo-comprobación. Se mostrará un mensaje con el resultado de la comprobación realizada.

asd53@ubuntu-p:~$ sudo visudo -c -f /etc/sudoers

Password:
/etc/sudoers file parsed OK

asd53@ubuntu-p:~$

-q

Activa el modo "silencioso": con esta opción no se muestran los detalles del resultado de la comprobación sintactica realizada con  -c . Esta opción solo tiene utilidad combinada con  -c .

asd53@ubuntu-p:~$ sudo visudo -cq -f /etc/sudoers

Password:
asd53@ubuntu-p:~$

-s

Activa la comprobación estricta ( no solo sintáctica) del archivo  sudoers . Si se utiliza un alias antes de ser definido, se considerará un error. Debe tenerse en cuenta que no puede distinguirse un alias de un nombre de host o de usuario en los que se hayan utilizado sólo letras mayúsculas, números y guiones bajos  _  .

-V

Muestra la versión de  visudo  y sale.


Algunos mensajes de visudo


sudoers file busy, try again later.
Otro usuario esta editando  sudoers  en este momento.

/etc/sudoers.tmp: Permission denied
No puedes ejecutar  visudo  como root

Can?t find you in the passwd database
Tu id de usuario no aparece en el archivo  /etc/passwd   del sistema.

Warning: undeclared Alias referenced near ...
Aparece este mensaje tanto si se ha utilizado un  (User, Runas, Host, Cmnd)_Alias  antes de haberlo definido o si se tiene un nombre de usuario o de host compuesto exclusivamente por mayúsculas, números y  /  o guiones bajos  _ .
Si se trata de este último caso, no hacer caso de la advertencia ya que no se trata de ningún error. (ver mas arriba, cuando se describe la opción  -s )

Warning: runas_default set after old value is in use ...
Nos advierte que hay una variable  runas default,  en Defaults de sudoers después de que este valor haya sido ya usado.
Esto significa que las entradas previas al runas default deben basarse en el runas default por defecto (root) mientras que las entradas posteriores al runas defaults deben basarse en el nuevo valor.
Con la opción  -s  debe considerarse un mensaje de error, no una mera advertencia

III.Bibliografia

Todo lo que se acaba de explicar lo he aprendido de:

Visudo Manual

Fiesta Segura,D . "Iniciación de sudo para bisoños". .

Lawrence,A.P. "Using sudo"

Inicio Página
Indice > sudo > sudoers > | visudo