Le paquet qqq.deb
installe le programme qqq
qui doit être exécuté à partir d' uqqq
un compte utilisateur. Le paquet comprend le qqq
programme, le qqq.conf
fichier de configuration et /etc/init.d/qqq
initscript.
Comment le paquet devrait-il gérer la création d'utilisateur uqqq
? Existe-t-il des meilleures pratiques ou des directives officielles à ce sujet?
- Il suffit de créer l'utilisateur automatiquement
uqqq
dans postinst; - Créez automatiquement l'utilisateur au premier démarrage à partir du
/etc/init.d/qqq
script; - Créer automatiquement l'utilisateur au premier démarrage du
qqq
programme (sans argument) - Ne créez aucun compte d'utilisateur, refusez de démarrer sauf si l'utilisateur est explicitement créé par l'administrateur (par exemple, using
qqq --create-user
); - Ne créez pas de compte utilisateur, exécutez par défaut de manière non sécurisée à partir de root;
- Interactively demande à postinst, au script init.d ou à
qqq
lui - même si un utilisateur doit être créé.
Le package doit-il supprimer le compte utilisateur lors de la désinstallation?
grep adduser /var/lib/dpkg/info/*.postinst
sur n’importe quel système basé sur Debian pour obtenir de nombreux exemples.adduser
est utilisé, il doit également dépendre du paquet. Voir: lintian.debian.org/tags/…Réponses:
Le wiki Debian contient des instructions plus complètes et spécifiques que le manuel de politique Debian déjà mentionné. Voir AccountHandlingInMaintainerScripts :
Les conseils qu'il donne sur la suppression de comptes ne sont pas concluants. Cependant, je noterai que l’ avis correspondant pour fedora n’est pas équivoque.
la source
En tant qu'administrateur installant des packages, mes packages créeraient automatiquement les utilisateurs dont ils ont besoin pré ou postinst, de sorte que tous les fichiers devant appartenir à l'utilisateur puissent être créés avant l'exécution du programme.
Votre programme ne doit être exécuté en tant que root que s'il en a le besoin (par exemple, une liaison avec un port privilégié) et, idéalement, il devrait abandonner ses privilèges une fois que l'utilisateur a terminé la tâche requise.
Vous pouvez voir comment d’autres packages (installés) ont géré cela en utilisant
et lire les fichiers listés (la plupart prennent plus d’une ligne d’options).
Curieusement, tous les packages installés
adduser
, à l'exception d' un seul, qui créent une utilisation par l'utilisateur pour ajouter des utilisateurs, mais le package adduser n'est pas un package requis; votre package devra donc être construit pour en dépendre. Leuseradd
programme est utilisé par le paquet libuuid1 et fait partie dupasswd
paquet qui est un paquet requis.la source
--quiet
approche semble très populaireSection 10.9. Les autorisations et les propriétaires dans le manuel de la politique Debian correspondent à ce que vous recherchez (à partir de "version 3.9.5.0, 2013-10-28"):
Note: La liste debian-devel est très actif et répond à des questions aussi (bien que cet exemple est de 2003).
la source
adduser
danspostinst
".