GNU/Linux >> Znalost Linux >  >> Linux

Linux, proč nemohu psát, i když mám skupinová oprávnění?

Odhlásili jste se po provedení změn ve skupině a znovu se přihlásili? Vidět:
Odpověď superuživatele zahrnující selhání dotykových oprávnění


Proč nemůže uživatel Linuxu upravovat soubory ve skupině, jejíž je součástí?

Používám Ubuntu 12.04 a měl jsem stejný problém, kdy uživatel nemůže zapisovat do souboru, ke kterému má povolen skupinový přístup. Například:

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                               

Nyní restartujte terminál, abyste se ujistili, že uživatelé a skupiny vstoupily v platnost. Přihlaste se jako el.

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

Vytváří varování:

Warning: W10: Warning: Changing a readonly file"

Co? Udělal jsem všechno správně, proč to nefunguje?

Odpověď:

Proveďte úplný restart počítače. Zastavení terminálu k vyřešení těchto problémů nestačí.

Myslím, že to, co se stane, je, že apache2 také používá skupinu www-data, takže úkol nějak bránil uživatelům a skupinám ve správném vynucení. Nejen, že se musíte odhlásit, ale musíte zastavit a restartovat všechny služby, které vaši skupinu používají. Pokud to restart nepomůže, máte větší problémy.


Měl jsem stejný problém, zkontrolujte, zda složka obsahuje další pravidla ACL nebo ne!

Pokud při vypisování složky vidíte + (znaménko plus), znamená to, že má speciální pravidla přístupu. Například:

[[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

Zobrazit oprávnění:

[[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

To znamená, že můj uživatel (user_in_apache_group) nemá pro tuto složku oprávnění k zápisu.

Řešením je to, co řekl @techtonik, přidejte oprávnění k zápisu pro uživatele:

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

Znovu zkontrolujte oprávnění:

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

Doufám, že to pomůže.;)


Linux
  1. Jak přidat uživatele do skupiny v Linuxu

  2. Přidal jsem uživatele do skupiny, ale skupinová oprávnění k souborům stále nemají žádný vliv?

  3. Linux – Mount Cifs Network Drive:Oprávnění k zápisu a Chown?

  1. Linux – Může mít jeden uživatel více souborů Crontab?

  2. Spravujte skupiny uživatelů Linuxu

  3. Nelze odemknout linuxový uživatelský účet

  1. Jak mohu změnit výchozí skupinu uživatele v systému Linux?

  2. Jak mohu vyhledat uživatelské jméno podle id v linuxu?

  3. Jaká oprávnění by měly mít soubory/složky mých webových stránek na webovém serveru Linux?