Pakiet qqq.deb
instaluje program, qqq
który powinien być uruchamiany z uqqq
konta użytkownika. Pakiet składa się z qqq
programu, qqq.conf
pliku konfiguracyjnego i /etc/init.d/qqq
skrypt startowy.
Jak pakiet powinien zarządzać tworzeniem użytkownika uqqq
? Czy są jakieś najlepsze praktyki lub oficjalne wytyczne na ten temat?
- Wystarczy utworzyć użytkownika automatycznie
uqqq
w postinst; - Utwórz użytkownika automatycznie przy pierwszym uruchomieniu ze
/etc/init.d/qqq
skryptu; - Utwórz użytkownika automatycznie przy pierwszym uruchomieniu
qqq
programu (bez argumentów) - Nie twórz żadnych kont użytkowników, odmów uruchomienia, chyba że użytkownik zostanie utworzony przez administratora (na przykład za pomocą
qqq --create-user
); - Nie twórz żadnych kont użytkowników, domyślnie uruchamiaj się niepewnie z poziomu root;
- Interaktywnie pytaj w skrypcie postinst, init.d lub w
qqq
samym sobie, czy utworzyć użytkownika.
Czy pakiet powinien usunąć konto użytkownika po odinstalowaniu?
grep adduser /var/lib/dpkg/info/*.postinst
na dowolnym systemie opartym na Debianie, aby uzyskać wiele przykładów.adduser
jest używany, musi również zależeć od pakietu. Patrz: lintian.debian.org/tags/…Odpowiedzi:
Wiki Debiana ma bardziej kompleksowe i szczegółowe wytyczne niż wspomniany już Podręcznik Polityki Debiana. Zobacz AccountHandlingInMaintainerScripts :
Porady dotyczące usuwania kont są niejednoznaczne. Zauważę jednak, że odpowiednia rada dla Fedory nie jest jednoznaczna.
źródło
Jako administrator instalujący pakiety spodziewałbym się, że moje pakiety będą automatycznie tworzyć potrzebnych im użytkowników w trybie preinst lub postinst, tak aby wszelkie pliki, które muszą być własnością użytkownika, mogły zostać utworzone przed uruchomieniem programu.
Twój program powinien działać jako root tylko wtedy, gdy jest to konieczne (np. Powiązać z uprzywilejowanym portem), a najlepiej powinien porzucić swoje uprawnienia, gdy skończy robić to, co wymaga roota.
Możesz sprawdzić, jak poradziły sobie z tym inne (zainstalowane) pakiety
i czytanie wymienionych plików (większość zajmuje więcej niż jedną linię opcji).
Co dziwne, wszystkie oprócz jednego z moich zainstalowanych pakietów, które tworzą użytkownika,
adduser
do dodawania użytkowników, ale pakiet adduser nie jest pakietem wymaganym, więc twój pakiet będzie musiał zostać zbudowany, aby na nim polegać.useradd
Program jest używany przez pakiet libuuid1 i jest częściąpasswd
pakietu, który jest wymagany pakiet.źródło
--quiet
podejście wydaje się bardzo popularnySekcja 10.9. Uprawnienia i właściciele w Podręczniku zasad Debiana mają to, czego szukasz (od „wersji 3.9.5.0, 28.10.2013”):
Uwaga: Na liście debian-devel jest dość aktywny i odpowiada na takie pytania też (choć to przykładem jest od 2003 roku).
źródło
adduser
wpostinst
”.