Como dois usuários podem ser os proprietários de um arquivo?

7

De acordo com o título, tenho que criar um arquivo, por exemplo:

/home/john/file.ini

Eu criei um usuário e um grupo, myuser e mygroup , e configurei-os como proprietários e grupos desse file.ini :

chown myuser:mygroup file.ini

Eu tenho outro usuário chamado mymain . Este usuário deve poder ler este arquivo. Como posso alterar as permissões para permitir isso?

Importante: Eu quero permitir que apenas o usuário "mymain" leia este arquivo, NÃO todos os outros usuários.

Então myuser (o proprietário do arquivo) e mymain devem ter acesso.

    
por Scott 26.04.2011 / 11:01

2 respostas

10

No sistema tradicional de permissões de arquivos do Unix, isso não é possível: um arquivo tem apenas um único proprietário. Você poderia criar um grupo contendo apenas os dois usuários que devem ter acesso e tornar o grupo proprietário do arquivo (e fornecer as permissões desejadas para esse grupo). Essa abordagem tem alguma sobrecarga administrativa, no entanto (nem todo usuário pode criar um grupo e colocar outros usuários nele).

Muitos (mais) sistemas de arquivos modernos suportam ACLs, e eles não são muito difíceis de usar. Se você quiser usar ACLs POSIX para conceder a outro usuário permissões de leitura ( r ) e gravação ( w ), use este comando:

setfacl -m user:mymain:rw file.ini

Duas ressalvas:

  • As ferramentas necessárias nem sempre são instaladas. No Ubuntu / Debian eles são encontrados no pacote acl ( sudo apt-get install acl )
  • Mesmo se o sistema de arquivos usado suportar ACLs, pode ser que seu sistema de arquivos local esteja montado sem suporte para ACLs. Nesse caso, você precisa modificar os parâmetros de montagem para ativá-lo (por ext4 , por exemplo, isso significa simplesmente anexar ,acl às opções de montagem em /etc/fstab ).
por 26.04.2011 / 11:13
4

Você deve garantir que o usuário mymain seja membro de mygroup e forneça as permissões do grupo, como

chmod g+r <filename>

Alguns sistemas de arquivos implementam ACL (listas de controle de acesso), e podem ser muito mais úteis para você, mas estão além do escopo da minha resposta aqui. Você desejará ler as ACLs em uma configuração de empresa (ADS) _

adicionado

Tecnicamente, é claro, dois usuários não podem ser simultaneamente o proprietário do mesmo arquivo. Além disso, se você quiser imitar isso, você deve dar permissão total ao grupo, talvez fazendo um grupo especial para apenas esses dois 'proprietários' e até que ponto isso realmente imita a oportunidade será dependente do formato (old-style UNIX-pt tendem a ser muito rigorosas em suas regras para permitir chmod / chown)

    
por 26.04.2011 / 11:03