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