Non riesco a cambiare il proprietario (utente o gruppo) della directory su cui ho tutti i diritti?


4

TL; DR: Perché l'operazione non è consentita? E come posso risolvere questo?


Sto affrontando un problema che non riesco a risolvere. Sto creando una directory come utente a: gruppo a), che voglio cambiare all'utente b: gruppo a. Non capisco perché questa operazione non sia consentita. Questo è ciò che sta accadendo:

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

(Ho cambiato i nomi utente e gruppo per semplicità)

Altre cose che potrebbero essere rilevanti:

  • L'utente A appartiene al gruppo A e al gruppo B.
  • L'utente B appartiene al gruppo B.
  • La directory foo in / home / utente b ha 0750 ed è di proprietà dell'utente B: gruppo A.

Sono ansioso di capire perché questa operazione non è consentita e come posso risolverla (una soluzione senza usare sudo è un vantaggio)?


prova sudo prima del comando chown
kobaltz,

Quali sono le autorizzazioni della cartella "pippo"?
TheCompWiz

Risposte:


11

Puoi cambiare la proprietà di un file solo se sei root (o hai la capacità Pos_ CAPOWN). Questo perché la distribuzione di file innescherebbe alcuni problemi di sicurezza (ad esempio, se le quote dei dischi fossero abilitate, si potrebbe quindi riempire la quota dell'utente b).

Usa sudo chown se ti è permesso farlo e funzionerà.

Puoi comunque cambiare il gruppo proprietario in un gruppo di cui sei membro, quindi dovresti essere in grado di cinguettare "gruppo b" "/ home / utente b / pippo / test", che potrebbe essere un'alternativa per condividere file con l'utente b senza diventare root, a seconda di ciò che stai cercando di ottenere.

Per autorizzazioni più flessibili, potresti voler esaminare gli ACL.


Grazie per la tua spiegazione. Per ora, ho scelto sudoun piccolo sottoinsieme di comandi. Ho intenzione di dare un'occhiata a Chgrp.
Bjorn,

No, per me non funziona: 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"- lo stesso problema "operazione non consentita".
Ayrat,

0

Parte A:
l'operazione non è consentita perché solo il proprietario e il root (TBOMK).

Parte B: la risposta è ora ovvia. O fai farlo all'utente b, o forse dovrai mordere il proiettile e usare sudo. Se non vuoi usare sudo, suppongo che sia perché non hai root e dovrai convincere qualcun altro a farlo, ma quelle sembrano essere le uniche due soluzioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.