Sim, o Mac possui muitos aprimoramentos no Unix na área de arquivos. Ignorando toda a bifurcação de recursos que não é mais usada muito, existem:
- as permissões padrão do Unix
ugo
rwx
e assim por diante. Aplicam-se as ferramentas normais do Unix.
- ACL , visíveis
ls -le
e alteráveis com chmod [ -a | +a | =a ]
.
- sinalizadores de arquivo visíveis com
ls -lO
(Capital oh, não zero) e alteráveis com chflags
.
- atributos estendidos , visíveis com
ls -l@
(apenas chaves de atributo) e visíveis e alteráveis com xattr
. (Use xattr -h
para obter ajuda se man xattr
não lhe der nada.)
- A partir do OS X 10.11 "El Capitan", o SIP ( System Integrity Protection ) protege ainda mais alguns arquivos contra alterações de processos comuns, mesmo quando usado
sudo
para executar como root
. Os arquivos protegidos pelo SIP serão listados ls -lO
com o restricted
sinalizador e / ou ls -l@
com o com.apple.rootless
atributo.
Você pode ter operações negadas em um arquivo devido a permissões do Unix, ACLs, sinalizadores de arquivo ou SIP. Para desbloquear completamente um arquivo:
sudo chmod -N file # Remove ACLs from file
sudo chmod ugo+rw file # Give everyone read-write permission to file
sudo chflags nouchg file # Clear the user immutable flag from file
sudo chflags norestricted file # Remove the SIP protection from file
sudo xattr -d com.apple.rootless file # Remove SIP protection from file
Se a Proteção de Integridade do Sistema (SIP) estiver ativada sudo chflags norestricted
e sudo xattr -d com.apple.rootless
também retornará um erro "Operação não permitida". Para limpar o sinalizador e / ou o atributo, você precisa inicializar no macOS Recovery e executar os comandos do Terminal (talvez seja necessário primeiro usar o Disk Utility para desbloquear e montar sua unidade de inicialização, lembre-se de que seus arquivos estarão abaixo /Volumes/Macintosh HD
ou abaixo da inicialização) nome da unidade) ou desabilite o SIP completamente e, em seguida, reinicie e os comandos deverão funcionar. No entanto, esteja ciente de que futuras atualizações do sistema operacional provavelmente restaurarão o restricted
sinalizador e o com.apple.rootless
atributo para todos os arquivos dos quais você o removeu.
Desabilitar o SIP não é recomendado , pois remove muita proteção contra malware e danos acidentais, além de não ser necessário quando você pode simplesmente remover a proteção por arquivo. Se você desativar o SIP, reative-o quando terminar de fazer alterações.
Observe que, se ls -lO
mostra que o schg
sinalizador está definido, você precisa entrar no modo de usuário único para desmarcá-lo. Não vou abordar isso aqui, pois há perguntas maiores sobre por que o arquivo tem esse sinalizador definido e por que você está tentando mexer com ele e quais serão as consequências.
sudo chgrp wheel ./entries
?