No tengo permisos para guardar archivos en Mac OS X usando Vim, incluso después de usar sudo

-1

Estoy tratando de editar el siguiente archivo en mi máquina:

/etc/apache2/httpd.conf

Primero recibí un error que indica que no tengo permisos para cambiar el archivo, lo suficientemente justo. Luego lo usé sudopero sigo teniendo el mismo error. Alguna idea de por qué esto pasaría?

Tiwaz89
fuente
Consulte con ls sus permisos. Si no tiene permisos, puede cambiarlo escribiendo: chmod 700 httpd.conf. Como resultado, debe obtener permiso completo para el usuario.
Valinho
@Valinho 700 es bastante restrictivo para otros, realmente no es necesario. Y tampoco es necesario que sea ejecutable.
slhck
@slhck tienes razón, pero la pregunta es si el problema puede resolverse cambiando los permisos.
Valinho
Sí, si los permisos de su archivo no le permiten a usted ni a su grupo editar ese archivo, esa puede ser la razón, pero no hay forma de saber si esa es la razón por la que no puede escribir en él. No tengo ningún problema con: sudo nano /etc/apache2/httpd.conf ¿Tiene su servicio Apache desactivado? ¿Creaste el súper usuario?
Jesus Gonzalez
Su recomendación chmod 700es un consejo bastante malo que ignora el hecho de que este archivo es un elemento de instalación estándar de Mac OS X e ignora también los conceptos básicos de propietario / grupo. Los permisos estándar para /etc/apache2/httpd.confson 644con el archivo de propiedad rooty el grupo que se establece en wheel. Funciona bien.
JakeGould

Respuestas:

0

Dices que usaste sudopero ¿qué editor usaste? En su ejemplo, solo dice que intentó editar:

/etc/apache2/httpd.conf

Pero si acaba de ingresar esa ruta en la línea de comando, obtendrá este error:

-bash: /etc/apache2/httpd.conf: permiso denegado

Esto se debe a que si solo escribe /etc/apache2/httpd.confy luego presiona return, intentará ejecutar el archivo ... Y ese archivo no es binario o incluso un script con derechos de ejecución.

E incluso si agregó sudoantes ese camino como este:

sudo /etc/apache2/httpd.conf

Luego, después de que se le solicite su contraseña, aún recibirá un error como este:

sudo: /etc/apache2/httpd.conf: comando no encontrado

Si necesita editar con sudo, debe especificar el editor que desea usar, como por ejemplo nano:

sudo nano /etc/apache2/httpd.conf

Y luego puede editar el archivo a httpd.conftravés del nanocual se lanzó con sudoderechos.

FWIW, la comprobación del archivo en mi instalación de Mac OS X 19.5 (Mavericks) muestra los siguientes permisos; que son estándar, normales y sudoeditables por el usuario:

-rw-r--r--  1 root  wheel  18121 Jan 25 01:44 /etc/apache2/httpd.conf
JakeGould
fuente