Por que um usuário não pode alterar a propriedade do grupo de seus próprios arquivos? [duplicado]

13

Por que um usuário não pode alterar as permissões de grupo dos arquivos que ele possui. Vamos supor que eu tenha usuário martin :

$ ls -lAd /home/martin/
drwx------ 8 martin martin 4096 Apr 20 01:06 /home/martin/

Por algum motivo, quero que o usuário paul possa acessar minha casa.

$ chgrp paul /home/martin/
chgrp: changing group of '/home/martin/': Operation not permitted

Existe uma razão de segurança por que um usuário não pode alterar a propriedade do grupo de seus próprios arquivos?

Estou usando o Debian 7 (wheezy).

    
por Martin Vegter 21.04.2014 / 11:52

1 resposta

15

Você só pode chgroup para um grupo do qual é membro:

$ groups
terdon sudo netdev fuse vboxsf vboxusers 
$ chgrp fuse file
$ ls -l  file
-rw-r--r-- 1 terdon fuse 531 Apr 15 19:17 file
$ chgrp mysql file
chgrp: changing group of ‘file’: Operation not permitted

Esse comportamento é mencionado nas especificações POSIX :

Only the owner of a file or the user with appropriate privileges may change the owner or group of a file.

Some implementations restrict the use of chgrp to a user with appropriate privileges when the group specified is not the effective group ID or one of the supplementary group IDs of the calling process.

A principal razão para isso é que, se você não for membro de um grupo, não poderá modificar o acesso a esse grupo. Esta resposta nas permissões chown também é relevante.

Tradicionalmente, em sistemas compartilhados, você tem um grupo users ao qual todos os usuários regulares pertencem e que é o grupo principal de cada usuário. Dessa forma, os arquivos são criados pelo grupo users e todos os usuários podem lê-los.

De qualquer forma, já que não é assim que as distribuições baseadas no Debian são configuradas atualmente, a maneira de dar acesso de usuário específico ao seu diretório seria

  1. Altere a propriedade do grupo do diretório para um grupo do qual você e o outro usuário sejam membros;

  2. Altere as permissões do diretório de acordo:

    $ chmod 755 /home/martin
    $ ls -ld /home/martin/
    drwxr-xr-x 170 martin martin 491520 Apr 20 13:43 /home/martin/
    

    Isso tornará o diretório acessível para todos. Paul incluído.

por 21.04.2014 / 12:14