Cuando tiene que editar archivos del sistema, es una situación habitual que haya lanzado Emacs con un usuario normal antes, por lo que el archivo estará protegido contra escritura. ¿Qué puedo hacer para obtener privilegios de root? Me refiero a algo como M-x sudo
de dired.
No quiero iniciar Emacs como superusuario y no quiero abandonarlo.
::
?/su:otheruser@localhost:
, por ejemplo./sudo::
es la abreviatura de vagabundosudo:root@<hostname>:
Usar
find-file
con vagabundo. En el indicador/sudo::/etc/ssh/ssh_config
, usará sudo y una subshell para abrir ese archivo con privilegios de root. Cuando se usa sudo por primera vez, solicitará una contraseña, pero hasta que se cierre esa sesión, puede editar cualquier archivo con esos permisos con un prefijo con el/sudo::
comando existente .Ver http://www.gnu.org/software/tramp/ para más detalles.
fuente
Si usa el
ivy
paquete y se ha configuradocounsel-find-file
para reemplazarfind-file
, entonces una de las "acciones de hiedra" preconfiguradas para usted ya es editar el archivo como root. Lahydra
combinación de teclas predeterminada para esa acción esr
.fuente
Hoy existen muchos paquetes que resuelven este problema (a partir de 2018). Algunos de ellos son:
sudo-edit
, permite cambiar los derechos de edición en un archivo de solo lectura ya abierto. SimplementeM-x sudo
escriba una contraseña y ya está. Después de muchos años de uso de este, creo que es el más conveniente para esta necesidad.sudo-edit
le permite abrir un archivo como cualquier usuario, pero está predeterminado en sudo si no se proporciona ninguno.dired-toggle-sudo
. Fue la primera solución empaquetada que encontré después de hacer esta pregunta. Está orientado a Dired, por lo que si prefiere la versión orientada a archivos , consulte la primera viñeta de esta lista.fuente
Si usas Helm. No necesita ningún paquete externo / configuración adicional. Funciona fuera de la caja.
En el interior
helm-find-files
puede invocar afind file as root
qué está vinculado C-c r. Esto funciona para archivos o directorios enhelm-find-files
sesión.Si no desea escribir la contraseña cada vez que abre archivos / directorios raíz. Pon la siguiente línea en tu
~/.authinfo.gpg
fuente
fuente