¿Por qué el usuario root solo puede acceder a mi / usr / local / bin? ¿Qué derechos para arreglarlo?

0

Hace poco quería usar el pod para actualizar la ruta de un marco.

Cocoapods está instalado y se puede encontrar aquí:

/usr/local/bin/

¡Pero sorpresa! Está configurado para acceder solo a la raíz:

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 el pod porque, en cualquier caso:

  • reino de instalación de pod
      

    amigo, no puedes acceder al pod porque no eres root.!.

  • sudo pod install realm
      

    amigo, no puedes usar pod como raíz. .!.

Creo que esta carpeta no debería configurarse como 'solo raíz' porque:

  • Está en la ruta de acceso del usuario
  • ¿Podrías instalar la gema en ella?
  • enlace básicamente dice:
      

    '/ usr / local' es ampliamente considerado como un buen lugar para mantener programas auto compilados o de terceros.

Sé que Linux no es un BSD pero aún así, no se ve muy diferente, no o.O

Finalmente aquí están mis preguntas:

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

(Lo verifiqué con "" dscacheutil -q user | grep 504 "")

  • ¿Qué se supone que son los derechos y el propietario en la carpeta?

  • ¿Hay alguien que tuvo el mismo problema?

  • ¿Alguna idea de por qué sucedió esto?

pregunta itMaxence 28.10.2016 - 01:03

3 respuestas

1

La configuración predeterminada para / 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 en / usr / local solo 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

Por lo tanto, su directorio compartido parece normal pero los demás tienen cambios impares

incluir y lib parece que cambió los permisos de / usr / local para poder escribir en ellos y luego crear estos dos directorios (la configuración más común es instalar Homebrew) (necesitamos ver lo que ls -ld /usr/local muestra .

En cuanto a bin, debe haber habido varias cosas. Primero se debe agregar un nuevo usuario en algún momento, los usuarios normales (creados a través de la GUI de Preferencias del Sistema comienzan en 501), por ejemplo. Soy el segundo usuario y, por lo tanto, mi ID es 502 y luego el directorio se creó o se envió a ese usuario, o el directorio se creó en otra parte y luego se trasladó como raíz a donde está.
Por separado, los permisos del directorio han sido modificados por chmod 700

Por lo tanto, la configuración correcta es según / usr / local / share, a menos que esté utilizando Homebrew en su instalación predeterminada y luego debe ser como / usr / local / include

    
respondido por el Mark 28.10.2016 - 02:03
1

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 uid 0, no 504. La serie 500 debe ser de usuario o de cuentas creadas por 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.

    
respondido por el tubedogg 28.10.2016 - 01:26
-1

El /usr/local/ en sí mismo es propiedad de root wheel para mí. Pero todas las carpetas que puede usar como usuario de pods bin include etc lib opt share var son propiedad de mi grupo de usuarios y administradores.

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

    
respondido por el Anton Chikin 28.10.2016 - 01:43

Lea otras preguntas en las etiquetas