Atualizei para o El Capitan ontem e tudo estava bem até recentemente, quando notei que não podia escrever nada (com o sudo ofc) em / usr / bin enquanto tentava instalar o phpbrew.
O que poderia estar causando isso e como solucioná-lo?
Atualizei para o El Capitan ontem e tudo estava bem até recentemente, quando notei que não podia escrever nada (com o sudo ofc) em / usr / bin enquanto tentava instalar o phpbrew.
O que poderia estar causando isso e como solucioná-lo?
Respostas:
Desde o OSX 10.11, a Apple reforçou o sistema de segurança. Chamada Proteção de Integridade do Sistema , a Apple bloqueia:
/System
/sbin
/usr (with the exception of /usr/local subdirectory)
Para desativar esse recurso de segurança, é necessário reiniciar o computador e aguardar CMD+R
no início para inicializar no OS X Recovery Mode.
Então OS X Utilities > Terminal
Digite o comando csrutil disable; reboot
O seu computador irá reiniciar. Você verá uma mensagem de confirmação sobre a desativação.
Para verificar o status do tipo CRS csrutil status
/Users/Rob$ csrutil status System Integrity Protection status: disabled. /Users/Rob$ touch /usr/bin/yes touch: /usr/bin/yes: Permission denied
sudo
.
csrutil enable
(no modo de recuperação).
Como mencionado por Ragnar , o /usr
diretório está bloqueado pelo sistema, com exceção de /usr/local
. Então, se o seu cenário permitir, recomendo adicionar o link simbólico a /usr/local/bin
. Se você não possui um requisito estrito de uso /usr/bin
, é uma maneira de solucionar o erro "Operação não permitida".
Pode-se verificar se um arquivo ou diretório específico está restrito à Proteção de integridade do sistema (SIP) / Rootless da OSX listando os sinalizadores de arquivo usando a -O
opção ls (por exemplo, para ver quais diretórios em / são restritos):
ls -Ol /
Os diretórios ou arquivos controlados pelo SIP são exibidos como 'restritos'.
Há detalhes completos nas respostas a esta pergunta sobre SIP / sem raiz.