0 votos

¿Por qué mi /usr/local/bin sólo es accesible para el usuario Root? ¿Qué derechos para arreglarlo?

Hace poco quise usar pod para actualizar la ruta de un framework.

Cocoapods está instalado y se puede encontrar aquí :

/usr/local/bin/

Pero, ¡sorpresa! Está configurado para el acceso sólo a root:

ls -l /usr/local
drwx------   504    wheel  bin/
drwxr-xr-x@  john   staff  include/
drwxr-xr-x@  john   staff  lib/
drwxr-xr-x   root   wheel  share/

Así que no puedo usar la vaina porque en cualquier caso :

  • pod install realm

    heeeyy amigo, no puedes acceder al pod porque no eres Root .!.

  • sudo pod install reino

    ¡heeeyy amigo, no puedes usar la vaina como una root! .!.

Creo que esta carpeta no debería estar configurada como "sólo root" porque:

Sé que Linux no es un BSD pero aun así, no parece muy diferente no o.O


Por último, aquí están mis preguntas:

  • He buscado y no hay ningún usuario con el uid 504, ¿es esto sospechoso?

(Lo he comprobado con ""dscacheutil -q user | grep 504"")

  • ¿Cuáles se supone que son los derechos y el propietario de la carpeta?

  • ¿Hay alguien que haya tenido el mismo problema?

  • ¿Alguna idea de por qué ha ocurrido esto?

1 votos

¿Has utilizado alguna vez MacPorts o algo similar? La razón por la que pregunto es que en mi sistema, el uid 504 es polkituser, que aparentemente a veces es creado por MacPorts, así que es posible que fuera un usuario que ya ha sido eliminado.

0 votos

Creo que lo usé una vez sí, así que puede ser esto supongo. Gracias.

1voto

tubedogg Puntos 6827

La carpeta /usr está protegida por System Integrity Protection (SIP) y es propiedad de Root, al igual que todo su contenido, con la única excepción de /usr/local (y sus subdirectorios).

El usuario root es el uid 0, no el 504. Las series 500 deben ser cuentas creadas por el usuario o la aplicación. /usr/local/bin en mi sistema es propiedad de mi nombre de usuario "tubedogg" en el grupo "admin", y tiene drwxrwxr-x como los permisos.

0 votos

Gracias por la respuesta. Actualizaré estos derechos \o / Sí, ya sé que el ID de Root es 0 pero los derechos sobre la carpeta son drwx------ por lo que sólo Root podría acceder a ella, a eso me refería. No sabía lo de los más de 500 IDs, gracias

1voto

yoliho Puntos 340

La configuración por defecto de /usr/local se muestra aquí

~ $ ls -ld /usr/local
drwxr-xr-x@ 3 root  wheel  102  5 Aug 20:01 /usr/local 

esto significa que los archivos y directorios bajo /usr/local sólo pueden ser creados por el usuario Root, por ejemplo, mi /usr/local tiene

~ $ ls -l /usr/local
total 0
drwxr-xr-x  12 root  wheel  408 11 Sep 12:11 bin

Así que tu directorio compartido parece normal pero los otros tienen cambios extraños

include y lib parece que cambiaste los permisos de /usr/local para poder escribir en él y luego creaste estos dos directorios (La configuración más común como esa es la instalación de Homebrew) (necesitamos ver qué ls -ld /usr/local espectáculos.

En cuanto a la papelera debe haber habido varias cosas. En primer lugar, se debe haber añadido un nuevo usuario en algún momento, los usuarios normales (creados a través de la interfaz gráfica de preferencias del sistema comienzan en 501), por ejemplo, yo soy el segundo usuario y por lo tanto mi id es 502 y luego el directorio fue creado o chowned a ese usuario- o el directorio fue creado en otro lugar y luego se trasladó como Root a donde está.
Por otra parte, los permisos del directorio han sido modificados por chmod 700

Así que la configuración correcta es la de /usr/local/share a menos que estés usando Homebrew en su instalación por defecto y entonces deberían ser como /usr/local/include

0 votos

¡Encontré un viejo archivo de wireshark en /usr/local/bin que era propiedad del uid 504! (ya eliminado) Sólo tengo instalados RubyGems y Macports, no Homebrew ls -ld /usr/local muestra drwxr-xr-x root wheel /usr/local/ Gracias.

-1voto

Anton Chikin Puntos 131

El /usr/local/ es propiedad de root wheel para mí. Pero todas las carpetas que podría utilizar como usuario de pods bin include etc lib opt share var son propiedad de mi usuario y del grupo de administradores.

Para cambiar la propiedad de una carpeta y los archivos que contiene, ejecute sudo chown -R john:staff /usr/local/bin chmod -R 755 /usr/local/bin

0 votos

¡Gracias por la respuesta! No se puede upvote las respuestas tho o / (no hay suficiente reputación)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X