Acabamos de receber um novo iMac usando o /Users/Shared
diretório para armazenar ativos de mídia (fotos, áudio, vídeo) que queremos acessíveis a todos os usuários na máquina. Depois de copiar todos os arquivos inicialmente, definimos as permissões desejadas e aplicamos as mesmas permissões a todo o conteúdo do diretório recursivamente. Isso está funcionando bem, exceto quando alguém cria um novo arquivo ou diretório, ele não tem as mesmas permissões e precisamos repetir todo o processo de permissões antes que todos possam acessá-lo.
Existe uma maneira de definir permissões para todos os novos arquivos / diretórios criados dentro desse diretório?
macos
permission
Daniel Standage
fonte
fonte
Respostas:
Você não pode fazer isso com as permissões tradicionais do estilo POSIX, mas com entradas de controle de acesso herdáveis. Para permitir acesso de leitura + gravação para todo o grupo "equipe" para tudo em / Usuários / Compartilhado / realmente compartilhado, você usaria:
A
file_inherit,directory_inherit
parte significa que essa entrada de controle de acesso será adicionada automaticamente a novos arquivos e pastas criados dentro desta pasta, mas não se aplicará automaticamente a itens que já estão lá (foi por isso que adicionei o-R
sinalizadorchmod
- que o aplica a tudo o que estiver atualmente dentro a pasta) e não será aplicada a itens criados em outro lugar e depois movida para esta pasta (não sei como contornar isso, desculpe).fonte
drwxr-xr-x+ 2 User staff 68 Dec 15 14:10 untitled folder
O + no final significa que a ACL estendida foi aplicada usando o comando acima, mas o Windows ainda diz que a permissão foi negada se eu tentar gravar um arquivo nessa pasta. Sóchmod g+w untitled\ folder
me permite escrever para ele. Pode ser porque eu instalei o Samba para solucionar a horrível nova implementação SMB do OSX.nt acl support = no
à[Global]
seção /etc/smb.conf, mas não tenho certeza se isso ainda é relevante nas versões atuais do samba.Outra abordagem é usar o Terminal (também conhecido como shell ou prompt de comando) para criar / editar (deve ser executado como superusuário, consulte sudo) o arquivo:
/etc/launchd-user.conf
adicionando a linha:
umask 000
save and reboot. Novos arquivos / pastas (incluindo arquivos alterados por salvar como) permitirão que todos leiam / gravem.
Isso funciona alterando as permissões de criação de arquivo padrão para programas, enquanto a abordagem da ACL funciona em termos de regras de acesso vinculadas a arquivos e pastas específicos.
Sem esse ajuste, os arquivos são criados, permitindo ao usuário: leitura e gravação, grupo e outros: somente leitura.
Se você estiver compartilhando entre vários computadores, precisará fazer isso em todos os computadores que usarão o compartilhamento.
Se você tiver arquivos e pastas existentes na área compartilhada, precisará torná-los todos legíveis / graváveis por todos usando:
sudo chmod -R og+w <shared-folder-name>
O comando lê em inglês como modo de alteração, recursivo em todas as subpastas e arquivos, outras permissões de & grupo adicionam acesso de gravação, começando na pasta com.
Essa abordagem é mencionada nos fóruns para trabalhar com pelo menos 10.6 e ainda funciona com 10.7.
Outros fatores ainda afetam o acesso ao conteúdo. Por exemplo, as permissões definidas no painel de controle Compartilhamento, as permissões da pasta pessoal / ACLs e, ao usar o Terminal, qualquer umask em vigor para o shell.
Consultar permissões de arquivos umask e Posixpara detalhes sobre esses conceitos Unix. Nas redações, o diretório de palavras é linguagem do Unix, sinônimo de pasta. Você também encontrará os termos UID e GID: IDs de usuário e grupo, que definem a propriedade Posix dos programas em execução (processos). Observe que UIDs e GIDs são números que podem ser iguais ou diferentes para um determinado nome de usuário em computadores diferentes. Esses números são atribuídos a nomes na ordem em que as contas são criadas em um determinado computador, geralmente começando com o ID 501. As redes domésticas não possuem um mecanismo para harmonizar essas atribuições entre computadores. Portanto, em compartilhamentos de rede, um arquivo pode parecer pertencer a usuários diferentes, porque a associação do ID do usuário ao nome do usuário é determinada da perspectiva do computador que está acessando o arquivo. Portanto, os compartilhamentos sempre permitem que todos acessem arquivos em vários graus de todos. Em outras palavras, a permissão "other" do Posix é um limite indefinido de acesso, que varia de permitir um grau de acesso bastante previsível, mas aparentemente incerto, dependendo dos IDs de usuário atribuídos em computadores diferentes. Isso leva a variações aparentemente absurdas nas experiências, nas quais algumas redes, por exemplo, uma configuração com apenas uma conta de usuário criada em cada Mac, poderão compartilhar sem ajustes de permissões, porque todas as contas terão o mesmo UID (501, não seja qual for o nome das contas), enquanto outra rede que usa várias contas de usuário por Mac verá problemas imediatamente. Portanto, alguns grupos nunca lutam com isso, enquanto outros podem ver problemas que se desenvolvem ao longo do tempo ou problemas que aparecem / desaparecem espontaneamente,
É um mistério o motivo pelo qual a Apple deixou um defeito de usabilidade tão apático na configuração de um recurso de compartilhamento de arquivos tão fácil de ativar.
Em discos externos, esse problema é solucionado com a opção "Ignorar permissões neste volume". Pode haver um recurso semelhante ao compartilhamento de arquivos da apple, mas onde está.
Se você administrar sua própria configuração do serviço Samba, existem outros mecanismos para lidar com esses problemas, mas o Samba não é nada fácil de usar.
fonte
launchctl
. Veja support.apple.com/pt-PT/HT201684