Linux felhasználó hozzáadása a www-data csoporthoz

img

Hogyan adhatok felhasználót a www-data apache felhasználói csoporthoz?

Az adott problémára több megoldás is létezik.

Először is, miért jó ez nekünk?

Teszt vagy developer szerveren elég sokszor fordul elő, hogy fájlokat kell törölni, módosítani, áthelyezni másik mappába. Nekem jelenleg a /home/leoamros/public_html mappa alatt helyezkedik el a virtuális domainek tárhelye. Ezért automatikusan leoamros felhasználó és leoamros groupként hozom létre a mappákat. De az Apache www-data felhasználó és www-data groupként menti a fájlokat. Így mivel a két csoport nem fedi egymást, sokszor kapok hibaüzenetet, hogy a fájlhoz nincs hozzáférésem.

Ilyenkor több megoldás létezik. Vagy hozzáadjuk a felhasználónkat a www-data csoporthoz, ezáltal engedélyünk lesz módosítani a fájlokat, vagy a mappaszerkezetet tulajdonosát és csoportját "hackeljük" meg :)

Nézzük az első verziót. Tehát felhasználót adunk a www-data csoporthoz, első esetben egy teljesen új felhasználót, akit frissen regisztrálunk.

sudo useradd -g www-data lacca
### beállítjuk a jelszót is számára ###
sudo passwd lacca

Hogy biztosak legyünk ellenőrizehetjük:

id lacca
groups lacca

Ekkor a felhasználó alapértelmezetten www-data elsődleges csoporttal jön létre. Tehát belépéskor a www-data csoportba jelentkezik be.

Másik megoldás, hogy a felhasználót a saját csoportjába hozzuk létre és csak hozzárendeljük a többi csoporthoz

sudo groupadd lacca
sudo useradd -g lacca -G www-data,ftp lacca
sudo passwd lacca

Ekkor először a lacca felhasználói csoportot hozzuk létre, majd ezt adjuk meg elsődleges csoportként, és hozzárendeljük a felhasználót a www-data és ftp csoporthoz is.

Hogy biztosak legyünk ellenőrizehetjük:

id lacca
groups lacca

Utolsó megoldásként már létező felhasználót is hozzáadhatunk a csoporthoz. Ezt alkalmaztam a saját esetemben én is.

sudo usermod -a -G www-data  leoamros

Hogy biztosak legyünk ellenőrizehetjük:

id leoamros
groups leoamros

Alternatív megoldásként pedig szóba jöhet a mappa jogosultságokkal való játék.

Elsőként állítsuk be a megfelelő jogokat a mappán

sudo chown -R leoamros:www-data /home/leoamros/public_html

Ekkor a mappa tulajdonosa leoamros és a www-data csoport lesz.

sudo chmod -R g+s /home/leoamros/public_html

Ezzel pedig megadjuk, hogy az újonnan létrehozott fájlok és mappák örököljék a megadott tulajdon beállításokat :)