Questão Não é possível alterar o proprietário (usuário ou grupo) do diretório no qual tenho todos os direitos?


TL: DR: Por que estou recebendo a operação não permitida? E como posso resolver isso?


Estou enfrentando um problema que não consigo resolver. Estou criando um diretório como usuário a: group a), que eu quero mudar para o usuário b: group a. Eu não entendo porque esta operação não é permitida. Isso é o que está acontecendo:

user a@foo:~$ mkdir /home/user b/foo/test             
uber a@foo:~$ chmod 0777 /home/user b/foo/test
user a@foo:~$ ls -alF /home/user b/foo/ | grep test
drwxrwxrwx 2 user a            group a 4096 Jan  6 19:53 test/
user a@foo:~$ chown user b:group a /home/user b/foo/test
chown: changing ownership of `/home/user b/foo/test': Operation not permitted

(Eu mudei o nome do usuário e do grupo para simplificar)

Outras coisas que podem ser relevantes:

  • O usuário A está no grupo A e no grupo B.
  • O usuário B está no grupo B.
  • Diretório foo em / home / user b tem 0750 e é de propriedade do Usuário B: Grupo A.

Estou ansioso para entender como esta operação não é permitida, e como posso resolver isso (uma solução sem usar o sudo é um plus)?


4


origem


tente sudo antes do seu comando chown - kobaltz
Quais são as permissões da pasta "foo"? - TheCompWiz


Respostas:


Você só pode alterar a propriedade de um arquivo se você estiver root (ou tiver o recurso CAP_CHOWN Posix). Isso ocorre porque dar arquivos causaria algumas preocupações de segurança (por exemplo, se as cotas dos discos estivessem habilitadas, você poderia preencher a cota do usuário b).

Use sudo chown se tiver permissão para fazer isso e funcionará.

No entanto, você pode alterar o grupo proprietário para um grupo do qual é membro, por isso você deve ser capaz de "agrupar b" "/ home / usuário b / foo / test", que pode ser uma alternativa para compartilhar arquivos com o usuário b sem se tornar raiz, dependendo do que você está tentando alcançar.

Para permissões mais flexíveis, você pode querer olhar para as ACLs.


11



Obrigado pela sua explicação. Por enquanto, eu fui com sudo para um subconjunto muito pequeno de comandos. Eu vou olhar para o chgrp. - Bjorn
Não, o seguinte não funciona para mim: You can however change the owning group to a group you're a member of, so you should be able to chgrp "group b" "/home/user b/foo/test" - o mesmo problema "operação não é permitida". - Ayrat


Parte A:
A operação não é permitida porque apenas o proprietário e a raiz (TBOMK).

Parte B: A resposta agora é óbvia. Ou faça o usuário b fazê-lo, ou talvez você tenha que morder a bala e usar o sudo. Se você não quiser usar o sudo, eu suponho que é porque você não tem raiz e terá que fazer com que outra pessoa faça isso, mas essas parecem ser as únicas duas soluções.


0