¿Cómo abro un archivo como root en TextEdit en Lion?

11

¿Cómo abro un archivo como root, en TextEdit? He intentado 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.

    
pregunta Znarkus 05.08.2011 - 14:53

6 respuestas

12

Puedes abrir una instancia de textedit como root ingresando la ruta completa al ejecutable real:

sudo -b "/Applications/Textedit.app/Contents/MacOS/TextEdit"

Una vez que la instancia raíz esté abierta, puede buscar el archivo que necesita o hacer esto desde la línea de comandos:

sudo su - root -c "open -e /etc/apache2/httpd.conf"
    
respondido por el Tyr 05.08.2011 - 15:50
6

TextEdit no es realmente la herramienta adecuada para editar archivos de configuración. Utilice TextWrangler en su lugar. Es gratis, tiene la capacidad incorporada para editar archivos con acceso de root desde una cuenta de administrador, así como cosas como abrir archivos invisibles y directorios fácilmente editando archivos a través de SFTP, etc.

    
respondido por el Gordon Davisson 06.08.2011 - 08:12
3

Aquí hay una manera 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 pero no en OS X, hace una copia temporal del archivo con permiso de escritura para el usuario actual, invoca un editor en el modo habitual de Unix y luego lo copia de nuevo .

Las opciones para open : -W esperan 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 tal vez no quiera abandonar. También puedes sustituir -t en lugar de -e si tienes un editor de texto favorito que no sea TextEdit.

Si ya tiene un conjunto de variables EDITOR para usar un editor gráfico con su propia herramienta de línea de comandos con capacidad de espera (como TextMate o BBEdit), entonces no necesita ninguno de estos trucos y solo puede usar sudo -e <file> directamente.

    
respondido por el Kevin Reid 06.08.2011 - 07:26
2

Dado que el usuario root está deshabilitado, la única forma de forzar a una aplicación OS X arbitraria a tener permisos de root es habilitar el root e iniciar sesión como root.

Por supuesto, las aplicaciones pueden usar la API para solicitar la autenticación del sistema y abrir el cuadro de diálogo que espera cuando se le solicita un usuario y 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 intentado usar sudo open -a textedit para abrir la aplicación?

    
respondido por el bmike 05.08.2011 - 15:22
0
sudo chmod +w name_of_the_file
sudo open -a TextEdit name_of_the_file
sudo chmod -w name_of_the_file

Debería funcionar

    
respondido por el Gio 05.08.2011 - 14:59
-5
sudo nano /etc/hosts 

funciona para Lion

    
respondido por el Bektur 21.02.2013 - 05:01

Lea otras preguntas en las etiquetas