No se puede escribir a / usr incluso con sudo


10

Aquí está mi problema:

sudo php -d detect_unicode=0 go-pear.phar

... debería permitirme ejecutar como root y modificar /usry /usr/sharedirectorios, pero obtengo esto:

Below is a suggested file layout for your new PEAR installation.  To
change individual locations, type the number in front of the
directory.  Type 'all' to change all of them or simply press Enter to
accept these locations.

 1. Installation base ($prefix)                   : /usr
 2. Temporary directory for processing            : /tmp/pear/install
 3. Temporary directory for downloads             : /tmp/pear/install
 4. Binaries directory                            : /usr/bin
 5. PHP code directory ($php_dir)                 : /usr/share/pear
 6. Documentation directory                       : /usr/docs
 7. Data directory                                : /usr/data
 8. User-modifiable configuration files directory : /usr/cfg
 9. Public Web Files directory                    : /usr/www
10. System manual pages directory                 : /usr/man
11. Tests directory                               : /usr/tests
12. Name of configuration file                    : /private/etc/pear.conf

1-12, 'all' or Enter to continue: 
Unable to create PHP code directory ($php_dir) /usr/share/pear.
Run this script as root or pick another location.

¿Por qué sudono se me da el privilegio de root? * Nota: * Estoy en el grupo de la rueda, aunque eso no debería tener nada con este sudocomportamiento divertido .

Gabbar-Singh:~ anadi$ id anadi
uid=XXX(anadi) gid=XX(staff) groups=XX(staff),0(wheel)

Respuestas:


15

Está tratando de instalar en el /usrque está protegido por SIP (Protección de integridad del sistema), una característica introducida con 10.11 (consulte ¿Cuál es la característica "sin raíz" en El Capitán, realmente? Para más detalles).

Utilice en su /usr/locallugar, que es la ubicación prevista para las instalaciones del lado del usuario.


¡Sí, excepto que necesito vincularme a / usr / include o no puedo compilar con gcc 4.9!
Michael

Tendrás que deshabilitar SIP, entonces supongo.
jasonology

Respuesta anterior, pero ¿por qué no puede decirle a GCC dónde encontrar los archivos de inclusión? Para eso está la opción '-l'. PHP como root ... <temblor>
Marc Wilson
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.