Usar o chown para alterar o proprietário do grupo de um diretório não é permitido… Por quê?

8

Estou tentando executar chown em um diretório que tenha as seguintes permissões e proprietários:

drwxrwxr-x 2 justin devs  4096 Jan  1 20:42 test

Estou tentando simplesmente executar o seguinte como o justin user:

chown justin:nginx test

Então, basicamente, basta alterar o proprietário do grupo para nginx , mas estou recebendo:

chown: changing ownership of 'test/': Operation not permitted

Alguma idéia?

    
por Justin 02.01.2013 / 05:45

2 respostas

12

Primeiro, use o comando chgrp em vez de chown e isso funcionará.

No caso de usar o chown ..... Por motivos de segurança na maioria dos contextos do Linux, qualquer alteração de propriedade é restrita ao usuário root, mesmo que você esteja marcado como o proprietário do arquivo, diretório, etc ou não. Em um caso, isso é para evitar que os usuários evitem cotas definindo os bits de permissão de arquivo para 777 e mudando a propriedade de um arquivo para algum outro usuário desconhecido e consumindo sua cota.

Usar o comando chown em um contexto de usuário, especialmente onde a propriedade não está mudando, não deve ser usado apenas para alterar o grupo de um arquivo.

NOTA: Você deve ser um membro do grupo para o qual está tentando alterar o arquivo. Isso pode ser verificado por id -a . Se você não estiver no grupo, receberá essa mensagem mesmo que seja o proprietário do arquivo.

    
por 02.01.2013 / 06:08
3

Você precisa fazer parte do grupo para poder alterar a propriedade atual do grupo. Você pode editar o arquivo /etc/groups como root para garantir que o usuário justin faça parte do grupo nginx. Depois de fazer alterações para o grupo, você precisa relogar para o sistema para torná-lo afetado ou para mudar para o grupo sem um reinício / logout, você pode usar cmd newgrp nginx .

Agora você deve poder alterar o grupo do arquivo ou pasta com cmd chgrp nginx test como usuário justin.

    
por 02.01.2013 / 07:01