RFC: Reference counter przy zakładaniu uzytkowników
Arkadiusz Patyk
areq w pld-linux.org
Pon, 7 Cze 2004, 16:38:26 CEST
Tomasz Trojanowski (tomek w uninet.com.pl) wrote:
> Dzisiaj na IRCu został ponownie poruszony problem zakładania (i usuwania)
> użytkowników w %pre (i %postun). Już kiedys przerabialiśmy próby
> rozwiązania tego problemu za pomocą pakietów users-* albo triggerami.
>
> Wydaje mi się że istnieje jeszce jedno rozwiązanie. Możemy w filesystemie
> (wstępnie w /var/lib/users) trzymać licznik referencji. I tak na
> przykładzie gdm.
>
> Dotychczas przy zainstalowanym gdm'ie, instalacja xdm'a powoduje usunięcie
> użytkownika xdm, ponieważ skrypt %postun gdm'a jest wykonywany na samym
> końcu.
>
> W przypadku zastosowania licznika referencji.
>
> %pre:
> - jeżeli użytkownik xdm nigdy dotychczas nie istniał w systemie (zatem
> nie ma pliku /var/lib/users/xdm: tworzony jest ten plik, zakładany jest
> użytkownik xdm i w razie powodzenia do /var/lib/users/xdm wpisywana jest
> wartość 1,
> - jeżeli użytkownik xdm istnieje już w systemie wartość z pliku xdm jest
> zwiększana o 1
>
> %postun
> - wartość z pliku xdm jest zmniejszana o 1 i jeżeli jest równa 0,
> użytkownik jest usuwany
>
> Komentarze?
Nie podoba mi się bo:
- w kazdym pakiecie musi być zakładanie/usuwanie użytkownika + obsługa
liczników
- potencjalne niebezpieczeństwo popsucia sobie pliku z licznikiem -
trzeba by zrobić jakieś locki itp
- nie wiemy który pakiet z zainstalowanych w tym momecie potrzebuje
danego użytkownika
Ja zdecydowanie widziałbym userów w osobnym pakiecie + tylko Requires
w pakietach które je potrzebują.
Z usuwaniem niepotrzebnych userów też nie ma problemu, bo
wystraczy:
$ rpm -qa | grep user- | xargs rpm -e
i te których nic nie wymaga się odinstalują.
--
Arkadiusz Patyk [areq(at)pld-linux.org] [http://rescuecd.pld-linux.org]
[IRC:areq ICQ:16231667 GG:1383] [AP3-6BONE] [AP14126-RIPE]
Więcej informacji o liście dyskusyjnej pld-devel-pl