GNU/Linux >> Tutoriales Linux >  >> Linux

sudoedit:¿por qué usarlo sobre sudo vi?

Me topé con esta pregunta mientras buscaba algo que no tuviera ninguna relación, pero pensé en agregar la siguiente distinción importante, que no se ha mencionado hasta ahora:sudoedit no ejecuta su editor como root.

$ sudo vim /etc/farts.conf 

Simplemente ejecutará vim como root, permitiéndole leer el archivo. La desventaja es que el editor ahora también se ejecuta como root y puede hacer cualquier cosa. Si solo deseaba permitir que un usuario editara un archivo de configuración y nada más, lástima, simplemente le dio root sobre todo el sistema. Nada me impide generar un shell de vim con :sh o :!command y como son subprocesos, también se ejecutarán como root.

Por otro lado:

$ sudoedit /etc/farts.conf

en realidad operará de manera diferente. Creará una copia con un nombre único en /tmp con permisos bloqueados solo para su usuario, y luego generará su editor normalmente, sin privilegios de raíz, en esa copia.

Una vez que salga de su editor, comparará el archivo temporal y el archivo original, y reemplazará de manera segura el original con su edición si cambió.

En este escenario, es posible permitir que un usuario edite un archivo del sistema, pero no permitirle ejecutar archivos binarios aleatorios como root o pokear en todas partes del sistema de archivos.

Esa es principalmente la distinción real, el resto que se ha mencionado son solo efectos secundarios.


En primer lugar, sudo vim ya menciona explícitamente su editor predeterminado, que no es necesario si lo tiene definido en $EDITOR . sudoedit le evita tener que definir el editor cada vez que desea editar algo, y en un sistema multiusuario permite que todos usen el editor que les gusta personalmente.

¿Cómo es eso? Considere un sistema donde los usuarios normales solo obtienen sudo privilegios para editar ciertos archivos. No pueden ejecutar sudo aunque con cualquier otra cosa. Tendrías que permitirles sudo vi y sudo vim y sudo nano y sudo emacs y sudo pico (etcétera). En lugar de tener que hacer eso, simplemente podría permitirles sudoedit el archivo, con su elección de configuración $EDITOR a lo que les gusta. (Imagina que obligarías a un amante de Emacs a usar Vim...)

Otro problema es que si su $EDITOR está establecido en vim , y tiene configuraciones de personalización para ello en el .vimrc de su usuario , esa configuración no se utilizará si usa sudo vim o sudo $EDITOR . sudoedit sin embargo, conserva el entorno del usuario que llama y, por lo tanto, su configuración.

Ver también:¿Qué tiene de bueno sudoedit?


Linux
  1. sudoedit:comando no encontrado

  2. ¿Cómo usar el comando su sobre adb shell?

  3. ¿Usar un dispositivo a través de SSH?

  4. ¿Por qué debería uno usar sudo?

  5. ¿Por qué está restringida la edición de core_pattern?

Por qué uso rxvt como mi terminal

Las 10 razones principales por las que usar Linux

Usar el editor vi

Por qué los nerds usan Linux

CÓMO UTILIZAR EL EDITOR SED

Linux vs Mac OS:15 razones por las que usar Linux en lugar de Mac OS