GNU/Linux >> Linux Esercitazione >  >> Linux

Linux, perché non posso scrivere anche se ho i permessi di gruppo?

Ti sei disconnesso e hai effettuato nuovamente l'accesso dopo aver apportato le modifiche al gruppo? Vedere:
Risposta di Super User relativa all'errore delle autorizzazioni di tocco


Perché l'utente Linux non può modificare i file nel gruppo di cui fa parte?

Sto usando Ubuntu 12.04 e ho avuto lo stesso problema in cui un utente non può scrivere su un file a cui gli è consentito l'accesso di gruppo. Ad esempio:

whoami                                        //I am user el
  el                                            

touch /foobar/test_file                       //make a new file

sudo chown root:www-data /foobar/test_file    //User=root  group=www-data

sudo chmod 474 /foobar/test_file              //owner and others get only read, 
                                              //group gets rwx


sudo groupadd www-data                        //create group called www-data    

groups                                        //take a look at the groups and see
 www-data                                     //www-data exists.

groups el                                     //see that el is part of www-data
  el : www-data                               

Riavvia ora il terminale per assicurarti che utenti e gruppi abbiano effetto. Accedi come el.

vi /foobar/test_file                          //try to edit the file.

Produce l'avviso:

Warning: W10: Warning: Changing a readonly file"

Che cosa? Ho fatto tutto bene perché non funziona?

Risposta:

Fai un riavvio completo del computer. L'arresto del terminale non è sufficiente per risolvere questi problemi.

Penso che ciò che accade sia che apache2 utilizzi anche il gruppo www-data, quindi l'attività stava in qualche modo impedendo che gli utenti e i gruppi venissero applicati correttamente. Non solo devi disconnetterti, ma devi interrompere e riavviare tutti i servizi che utilizzano il tuo gruppo. Se un riavvio non lo ottiene, hai problemi più grandi.


Ho avuto lo stesso problema, controlla se la cartella ha altre regole ACL o meno!

Se puoi vedere + (segno più) quando elenchi la cartella, significa che ha regole di accesso speciali. Ad esempio:

[[email protected] html]$ ls -l
total 16
drwxrwxr-x  16 apache apache 4096 Sep  4 13:46 ilias
drwxrwxr-x+ 15 apache apache 4096 Sep  4 13:46 ilias5

Visualizza l'autorizzazione:

[[email protected] html] getfacl ilias5
# file: ilias5
# owner: apache
# group: apache
user::rwx
user:user_in_apache_group:r-x
group::rwx
mask::rwx
other::r-x

Ciò significa che il mio utente (user_in_apache_group) non ha il permesso di scrittura per quella cartella.

La soluzione è ciò che ha detto @techtonik, aggiungi il permesso di scrittura per l'utente:

[[email protected] html]$ sudo setfacl -m u:user_in_apache_group:rwx ./ilias5

Controlla di nuovo l'autorizzazione:

[[email protected] html] getfacl ilias5
...
user:user_in_apache_group:rwx
...

Spero che sia d'aiuto.;)


Linux
  1. Come aggiungere un utente a un gruppo in Linux

  2. Ho aggiunto un utente a un gruppo, ma le autorizzazioni di gruppo sui file non hanno ancora alcun effetto?

  3. Linux:un singolo utente può avere più file Crontab?

  4. Come gestire le autorizzazioni/proprietà di file e directory in Linux

  5. Impossibile sbloccare l'account utente Linux

Come aggiungere utenti a un gruppo in Linux

Come aggiungere o rimuovere un utente da un gruppo in Linux

Come aggiungere un utente al gruppo in Linux

Come aggiungere un utente al gruppo su Linux

Come aggiungere un utente a un gruppo Linux

Un comando Linux può avere lettere maiuscole?