Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 5
  • 73

 Mam problem, ponieważ mam 3 userów, przyjmijmy, iż są to: wwwadmin1 wwwadmin2 i wwwadmin2.
Każdy z nich może może tworzyć nowe pliki w /var/www/html natomiast gdy jeden z nich stworzy plik, to nikt inny nie może go reedytować.
Założenie jest takie, że jest to trzech równouprawnionych administratorów strony, którzy mają się uzupełniać i gdy jeden jest na urlopie
to pozostali powinni mieć możliwość reedycji np. skryptów php, umieszczonych przez wcześniejszego admina.
Myślałem o ACLach natomiast może jest inne rozwiązanie?

bojanowb
  • Zapytał
  • @ bojanowb | 10.04.2014
    • 6
    • 0
    • 5

Odpowiedź (1)

  • 24

Można skorzytać z uprawnienia SGID na katalogu.
Normalnie gdy użytkownik tworzy plik to plik ma taką grupę jak GID użytkownika (czyli jego grupa podstawowa).
Natomiast gdy pliki są tworzone w katalogu z uprawnieniem SGID to pliki mają taką grupę jak katalog.
Wykorzystanie tego w powyższym przypadku to:

1) stworzenie wspólnej grupy np. wwwadmins

groupadd wwwadmins

2) dodanie użytkowników do grupy

usermod -aG wwwadmins wwwadmin1
usermod -aG wwwadmins wwwadmin2
usermod -aG wwwadmins wwwadmin3

3) ustawienie odpowiednich uprawnień na katalogu

chgrp wwwadmins /var/www/html
chmod 2775 /var/www/html

po tej operacji każdy plik będzie tworzony w grupie "wwwadmins" w której będą pozostali użytkownicy i jeśli maska
(umask) będzie domyślna to pliki będą tworzone z uprawnieniem 664, czyli z możliwością reedycję przez grupę - to rozwiąże Pana problem.

  • Odpowiedział
  • @ | 10.04.2014
  • TRENER MODERATOR ALTKOM AKADEMII