¿Cómo abro un archivo como raíz, en TextEdit? Probé estos comandos como root
, pero TextEdit siempre dice que está bloqueado:
open -e /etc/apache2/httpd.conf
open -e -F /etc/apache2/httpd.conf
open -e -F -W /etc/apache2/httpd.conf
Y por supuesto sudo !!
no hace ninguna diferencia.
Puede abrir una instancia de edición de texto como raíz ingresando la ruta completa al ejecutable real:
sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
Una vez que su instancia raíz esté abierta, puede buscar el archivo que necesita o hacer esto desde la línea de comando:
sudo su - root -c "open -e /etc/apache2/httpd.conf"
BBEdit es la herramienta gratuita para hacer esto en 2019 y reemplaza todas las funciones de TextErangler y puede descargarlo desde App Store y el sitio web del desarrollador.
TextEdit no es realmente la herramienta adecuada para editar archivos de configuración; en su lugar, use TextWrangler . Es gratis, tiene la capacidad incorporada para editar archivos con acceso raíz desde una cuenta de administrador, así como para abrir archivos y directorios invisibles, editar fácilmente archivos a través de SFTP, etc.
emacs
también tiene un buen modo de configuración codificado por colores.Aquí hay una forma de evitar ejecutar TextEdit como root:
EDITOR='open -Wne' sudo -e /etc/apache2/httpd.conf
Deberá salir de la copia de TextEdit después de editar el archivo.
sudo -e
, a veces conocido como sudoedit
OS X, pero no en OS X, hace una copia temporal del archivo con permiso de escritura para el usuario actual, invoca un editor en él al estilo habitual de Unix y luego lo vuelve a copiar.
Las opciones para open
: -W
espera a que se cierre TextEdit, por lo que sudo
sabe cuándo volver a copiar el archivo. -n
asegura que está esperando en una instancia separada de TextEdit, no una que ya tenga abierta y que quizás no desee cerrar. También puede sustituir -t
en lugar de -e
si tiene un editor de texto favorito que no sea TextEdit.
Si ya tiene un EDITOR
conjunto de variables para usar un editor gráfico con su propia herramienta de línea de comando con capacidad de espera (como TextMate o BBEdit), entonces no necesita ninguno de estos trucos y puede usarlo sudo -e <file>
directamente.
Dado que el usuario raíz está deshabilitado, la única forma de obligar a una aplicación OS X arbitraria a tener permisos de raíz es habilitar la raíz e iniciar sesión como raíz.
Por supuesto, las aplicaciones pueden usar la API para solicitar la autenticación del sistema y mostrar el cuadro de diálogo que espera cuando se le solicite un usuario y una contraseña de administrador. TextEdit no tiene esa función, por lo que debe evitar los permisos de archivo antes y después de abrir y escribir los archivos deseados.
¿Has probado a usar sudo open -a textedit
para abrir la aplicación?
sudo su -
para iniciar un shell como root y luego puedo ejecutarlo open "/Applications/Textedit.app/Contents/MacOS/TextEdit"
correctamente. No tengo habilitado el usuario root ni he iniciado sesión como usuario root.sudo chmod +w name_of_the_file
sudo open -a TextEdit name_of_the_file
sudo chmod -w name_of_the_file
Deberia trabajar
/etc/apache2/httpd.conf
tiene permisos predeterminados 0444
. Estuve toda la mañana tratando de editar ese archivo (de emacs
forma remota) pero nunca pensé en verificar los permisos (del nuevo León).sudo nano /etc/hosts
trabaja para león
Znarkus
sudo /Applications/Textedit.app/Contents/MacOS/TextEdit
luego simplemente abra el archivo desde TextEditwebbiedave
pico .bash_profile
, agreguealias sudotext='sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"'
, guarde el archivo, reinicie Terminal. Ahora puede simplemente escribirsudotext
para iniciar TextEdit como root.Cregox
open -t "/etc/hosts"
por ejemplo. Con TextWrangler simplemente puede escribiredit /etc/hosts
.Bagazo
jamie hutber
Enrique de Sousa
sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"
no funciona :(Bendito friki
RiZKiT
sudo -b "/System/Applications/TextEdit.app/Contents/MacOS/TextEdit"