Pasta / arquivos “restritos” no OS X El Capitan

Após a atualização do OS X Yosemite para o OS X El Capitan Developer Preview, tentei editar /System/Library/LaunchDaemons/ssh.plist para alterar a porta SSH padrão para uma personalizada. Este é o processo que venho usando há alguns anos.

O problema é que o El Capitan não me permite mudar nada nesta pasta (nem mesmo com o “sudo”). A pasta e seus arquivos são marcados como “restritos” quando eu listo o conteúdo com “ls -lO” . A mesma listview de pastas nas versões anteriores do OS X não mostra “restrito”.

Isso é algo novo para o OS X El Capitan? Como posso editar arquivos / pastas que são “restritos” ?


Eu descobri que isso é devido a um novo recurso introduzido no El Capitan chamado “SIP” (System Intregrity Protection) .

Leia mais aqui: https://forums.developer.apple.com/thread/4731?q=SIP

Infelizmente, ninguém sugeriu uma maneira de editar arquivos / pastas “restritos” sem realmente desabilitar o SIP.

Você também pode desativar temporariamente o SIP da seguinte maneira

  1. reiniciar
  2. assim que você ouvir o “som do Mac” na canvas cinza, pressione Cmd + R para entrar no modo de recuperação
  3. Abrir Utilitários-> Terminal
  4. Execute o comando csrutil disable
  5. Reinicie, você vai pousar no sistema operacional normal com SIP desativado
  6. faça todas as alterações que você gostaria de fazer
  7. Reinicie novamente
  8. assim que você ouvir o “som do Mac” na canvas cinza, pressione Cmd + R para entrar no modo de recuperação
  9. Ativar SIP com o csrutil enable
  10. Reinicie novamente
  11. feito

Até 10.11 desprotege certos arquivos em / System / Library ou permite que você faça isso sozinho, a única maneira sem desabilitar o SIP seria fazer um serviço diferente copiando o arquivo para outro lugar, como:

 sudo cp /System/Library/LaunchDaemons/ssh.plist /Library/LaunchDaemons/ssh.plist 

E, em vez de usar o painel Compartilhamento nas Preferências do Sistema, você gerenciaria o serviço por conta própria:

 sudo launchctl unload /Library/LaunchDaemons/ssh.plist sudo launchctl load -w /Library/LaunchDaemons/ssh.plist 

Eu sugiro que você tente adicionar os argumentos que você precisa para um plist em / Library / Preferences /. Por exemplo, no meu caso, eu precisava fazer uma pequena alteração no mDNSResponder para adicionar o sinalizador AlwaysAppendSearchDomains. Como sugerido por “bwells” nos fóruns de desenvolvedores da Apple, eu apenas tive que fazer

 sudo launchctl unload /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist AlwaysAppendSearchDomains -bool YES sudo launchctl load /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist 

Esta é uma abordagem muito mais limpa e persiste através de reinicializações e também deve sobreviver a uma atualização (pelo menos durante os betas minhas alterações manuais após a desativação do SIP foram substituídas). Note, até onde eu sei, isso é novo no El Capitan.

Você também pode deixar o SIP ativado ao desativar o gerenciamento do sistema de arquivos. Reinicialize no modo de recuperação e execute:

 csrutil enable --without fs 

Isso permitirá que você altere as permissions conforme necessário.

Eu uso o cloner de cópia de carbono para fazer backups clonáveis ​​… e tenho vários em rotação.

De acordo com o microfone do bombich “SIP só se aplica ao volume que você está atualmente inicializado, então [pode-se] inicializar a partir do volume de backup para excluir [arquivos]”.

Eu usei resposta de johannes (unidade de recuperação, csrutil ativar / desativar), mas isso requer reboot -> unidade de recuperação -> desligar sip off -> reboot -> apagar porcaria -> reboot -> unidade de recuperação -> por sua vez volta saborear – > reboot … quatro reinicializações.

Mas arrancar a partir de um clone e ver a unidade original como uma unidade secundária permitir-lhe-ia eliminar ficheiros problemáticos em duas reinicializações … sim?

  1. Basta iniciar o modo “Recuperação” pressionando “CMD + R” durante a reboot.
  2. Terminal aberto
  3. Seu disco será montado em / Volumes / Macintosh HD
  4. Excluir arquivos via “rm”: você tem controle absoluto nesse terminal.

Você pode “passar” a proteção SIP modificando as permissions no arquivo por meio do aplicativo Finder para o grupo do sistema.

modificando permissions

Funcionou bem para mim, mesmo depois de reiniciar, estou correndo

ProductName: Mac OS X ProductVersion: 10.11 BuildVersion: 15A284