No Mac OS X, executar 'ls -al' me dá algo assim.
drwxrwxrwx + equipe do smcho 136 maio 5 09:18 Público drwxr-xr-x + 6 equipe do smcho 204 1 de fevereiro de 2010 Sites drwxrwxrwx 9 equipe do smcho 306 2 de fevereiro de 2010 backup drwxr-xr-x @ 36 funcionários da smcho 1224 4 de setembro 22:51 bin
Após a resposta de Michael Mrozek, executei 'ls -ale' para obter o seguinte.
drwx ------ + 66 funcionários smcho 2244 30 de agosto 13:40 Biblioteca 0: group: com.Apple.sharepoint.group.3 permite pesquisa 1: grupo: todos negam excluir drwxr-xr-x 3 equipe do smcho 102 set 4 15:01 Correio drwx ------ + 13 equipe do smcho 442 28 de agosto de 17:55 Filmes 0: grupo: todos negam exclusão Drwx ------ + 6 funcionários smcho 204 9 de julho 09:37 Música 0: grupo: todos negam exclusão drwx ------ + 11 funcionários smcho 374 28 de agosto 16:55 Imagens 0: group: everyone negy delete drwxr-xr-x 3 funcionários smcho 102 Mar 18 15:43 Projetos drwxrwxrwx + 4 funcionários da smcho 136 maio 5 09:18 Público 0: grupo: todos negam exclusão drwxr-xr-x + 6 equipe da smcho 204 1º de fevereiro de 2010 Sites 0: group: todos negam exclusão
O que essas mensagens anexadas significam? Por que eu os tenho para alguns arquivos? Não me lembro de fazer nada em particular por eles.
O sufixo @
É exclusivo do Mac OS e é coberto por esta pergunta ; portanto, copiei essa parte da minha resposta a partir daí; significa que o arquivo possui atributos estendidos . Você pode usar o utilitário de linha de comando xattr
para visualizá-los e modificá-los:
xattr --list filename
xattr --set propname propvalue filename
xattr --delete propname filename
O sufixo +
Significa que o arquivo tem uma lista de controle de acesso e é comum em qualquer * nix que suporte ACLs. Dar ls
o sinalizador -e
Fará com que ele mostre as ACLs associadas após o arquivo, e chmod
pode ser usado para modificá-lo. A maior parte disso é da página de manual chmod
:
Você adiciona uma ACL com chmod +a "type:name flag permission,..."
E a remove com chmod -a
. O argumento para chmod
é bastante complicado:
user
ou group
, para esclarecer se name
está se referindo a um nome de usuário ou um nome de grupo. Se name
for inequívoco, você poderá omitir o tipoallow
se esta entrada da ACL estiver concedendo uma permissão ou deny
se estiver negando uma permissãoxattr
, de cima)No seu exemplo específico, a maioria das entradas da ACL é group:everyone deny delete
. Ou seja, todos os usuários do grupo everyone
(que naturalmente são todos) têm a permissão para excluir a pasta. Acredito que, embora não encontre nenhuma documentação sobre o assunto, essas são ACLs padrão para impedir a remoção de pastas raiz essenciais - alguém corrige isso se não for esse o caso. A única outra entrada é group:com.Apple.sharepoint.group.3 allow search
, Que permite aos Serviços de Diretório procurar arquivos por nome na pasta /Library