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.