Perché non riesco a eliminare un file su cui ho i permessi di scrittura di gruppo?


26

Ho un file con le seguenti autorizzazioni:

root:datae chmodimpostato su 775.

Il mio normale utente, chiamiamolo Boby, è nel datagruppo.

Perché non riesco a eliminare il file con l'utente boby?

 rwxrwxr-x 18 dati radice 4096 2011-12-30 22:02 memoria
 il mio utente è nei dati del gruppo ma non può scrivere in memoria

Risposte:


32

Perché eliminando un file, non si sta solo modificando il file ma anche modificando la sua directory.

Quindi se il tuo file è:

rwxrwxr-x

Saresti in grado di fare:

cp /dev/null <filename>

Ma se le autorizzazioni della tua directory sono:

rwxr-xr-x  root  data  <directory name>

Quindi il sistema ti impedirà di rimuovere il file.


Ho drwxrwxr-x nella directory, penso che abbia qualcosa a che fare con la d di fronte
— danidacar,

2
@ user56301 d indica semplicemente che questo file è una directory. Qual è la proprietà della directory?
— Karlson,

drwxrwxr-x 18 dati radice
— danidacar

Prova a eseguire come utente bobyquanto segue:cd <directory> ; touch test_file ; rm test_file
— Karlson

@ user56301 puoi creare un file in quella directory? se non puoi, non puoi assolutamente cancellare un file lì.
— Rich Homolka,

12

La cancellazione dei file si basa sui permessi di directory, non sui permessi di file (*).

Hai i permessi di scrittura sulla directory che contiene il file?

(*) Avvertenza, è possibile avere una directory in cui si impone che solo il proprietario del file può eliminarlo. Questo è utile per le directory temporanee.


Dai anche un'occhiata qui: superuser.com/questions/784952/… dove si discute dello stesso.
— Meetai.com,

1

Se la directory contenente non consente all'utente bobyo al datagruppo di scrivergli, ciò spiegherebbe questo comportamento.


2
Quindi l'intero percorso necessita dell'autorizzazione del gruppo? Funziona così.
— danidacar,

1
@utente: non l'intero percorso, ma solo la directory principale immediata del file. Stai solo modificando il contenuto della directory. I genitori superiori non contano affatto .
— Grawity il

Aggiornamento le risposte
— danidacar il

1
Questo non è esattamente vero. Hai solo bisogno di permessi di scrittura sulla directory contenente. I permessi possono essere di qualsiasi utente, gruppo o altro, non devono essere permessi di gruppo che ti consentono.
— Rich Homolka,

@Rich: AFAIK, viene controllato solo un set. Se sei il proprietario, il sistema controllerà solo i permessi "proprietario", non "gruppo" né "altri". Se fai parte del gruppo, il sistema non controlla i permessi di "altri". ( touch foo; chmod 6 foo; ls -l foo; cat foo)
— Grawity il

1

Ho provato la stessa cosa e ho riscontrato lo stesso problema.

Avvio di una nuova sessione terminale il problema. Ciò può essere ottenuto mediante:

  1. Disconnettersi e riconnettersi
  2. Passare a una delle 6 tty (Ctrl + Alt + F1-6) (Nota: Ctrl + Alt + F7 è la sessione della GUI)
  3. usando su bobyper iniziare una nuova sessione per l'utente boby.

Saluti!


Dice che è già registrato come boby
— canadese Luke REINSTATE MONICA il

Deve accedere nuovamente come boby- la vecchia sessione sembra essere obsoleta e non riflette le modifiche dell'associazione del gruppo.
— Here Be Wolves,

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.