15 votes

Mac OS/X ne me laisse pas mkdir /usr/share/tomcat6, même en tant que Root.

Exécution de MacOS Sierra (10.12.6)

me $ sudo su root
sh-3.2# bash
bash-3.2# pwd
/usr/share
bash-3.2# mkdir tomcat6
mkdir: tomcat: Operation not permitted
bash-3.2# chmod g+w /usr/share/
chmod: Unable to change file mode on /usr/share/: Operation not permitted
bash-3.2# chflags nouchg /usr/share/
bash-3.2# mkdir tomcat
mkdir: tomcat: Operation not permitted
bash-3.2# chmod g+w /usr/share/
chmod: Unable to change file mode on /usr/share/: Operation not permitted

J'ai une application web qui s'attend à trouver les fichiers journaux dans /usr/share/tomcat6/logs/. Comme un tel répertoire n'existe pas, j'essaie de créer /usr/share/tomcat6, puis de créer un lien logiciel de ce répertoire (appelé logs) vers le répertoire de logs réel.

Comment puis-je vaincre OS/X et obtenir ce que je veux ?

16voto

Tony Williams Points 11219

C'est parce que le /usr à l'exception de /usr/local est protégé par le système de protection de l'intégrité (SIP).

Vérifiez cette page de support Apple pour plus de détails sur le SIP. Cette réponse donne des détails sur la façon de désactiver SIP et plus d'informations.

8voto

Gordon Davisson Points 30215

Les logiciels installés localement appartiennent à /usr/local pas /usr . C'est une bonne idée depuis toujours, et à partir d'OS X El Capitan, cette règle est appliquée par Protection de l'intégrité du système . Il est possible de désactiver le protocole SIP, mais il est préférable de faire les choses correctement et d'utiliser le protocole SIP. /usr/local/share à la place.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X