Je travaille actuellement sur un paquet Debian pour un programme interne. Dans le cadre de ce package, j'ai besoin de créer l'utilisateur qui exécute la plupart des fonctionnalités du programme. Je fais cela dans le script postinst. Le script postinst peut être exécuté plusieurs fois (lors de la mise à niveau, par exemple), il est donc important de ne pas tenter de créer l'utilisateur à chaque fois. Par conséquent, comment puis-je m'assurer que l'utilisateur est créé seulement la première fois que le script est exécuté, sans l'affecter lors des exécutions ultérieures du script?Assurer l'existence d'un utilisateur sur un système Debian GNU/Linux
3
A
Répondre
9
Essayez:
[[email protected] ~]$ id aiden
uid=500(aiden) gid=500(aiden) groups=500(aiden)
[[email protected] ~]$ id foomonkey
id: foomonkey: No such user
[[email protected] ~]$
Le premier $?
est 0, le deuxième est 1.
2
Vous n'avez pas besoin de savoir si l'utilisateur existe ou non. adduser (8) ne retournera pas une erreur si l'utilisateur existe déjà avec les mêmes paramètres. De la page man:
EXIT VALUES
0 The user exists as specified. This can have 2 causes: The user
was created by adduser or the user was already present on the
system before adduser was invoked. Invoking adduser a second
time with the same parameters as before also returns 0.
1
comme Mentionné avant de pouvoir utiliser la commande « id », si vous souhaitez obtenir tout l'utilisateur dans un système, vous pouvez utiliser:
getent passwd
qui liste tous les les utilisateurs sur le système (même s'ils se trouvent sur une base de données distante comme ldap ou nis et etc ...)
Questions connexes
- 1. Debian: créer un utilisateur pendant l'empaquetage
- 2. pages debian homme pour le système appelle
- 3. Raccourcir grand CSV sur debian
- 4. Installer SciPy sur Linux Debian
- 5. Erreur Mysql sur le serveur Debian
- 6. Environnement système Java Variable Utilisateur actuel
- 7. PHP \ MySql Structure du système multi-utilisateur
- 8. .Bloc système WinForm Net sur un système d'exploitation 64 bits
- 9. timerfd_create avec les tests debian linux sur amd64
- 10. pandora site web système de profil utilisateur
- 11. Mdi forme assurer visible
- 12. Chaussures Debian paquet
- 13. XForm dans debian
- 14. Ajouter gmail comme smarthost dans Debian exim4
- 15. Sous-système approuvé sur un niveau unique
- 16. Ressources sur l'écriture d'un paquet Deb Debian/Ubuntu?
- 17. Comment utiliser libapt (ou libept) dans un système de type debian pour lister les paquets et obtenir leurs infos?
- 18. Comment faire un service Windows sur un utilisateur spécifié?
- 19. C - Fenêtre GLFW ne s'ouvre pas sur Debian
- 20. Installation de Svn 1.5.x sur Debian Etch - Meilleure approche?
- 21. Assurer l'unicité d'une clé MySQL
- 22. Assurer des identificateurs JavaScript uniques dans les contrôles utilisateur Web ASP.NET
- 23. Erreur de création de paquet Debian
- 24. assurer un résultat de type spécifique dans SML
- 25. Se assurer que un « int » est lié à sqlite
- 26. CLLocationManager assurer la meilleure précision pour l'iphone
- 27. Inscription à une instance statique. Comment assurer GC
- 28. Message d'erreur Bosh dans le serveur Debian
- 29. Outil d'interface Web pour le dépôt Debian?
- 30. Quel est le moyen le plus simple d'obtenir le nom complet d'un utilisateur sur un système Linux/POSIX?
Bonne réponse. Probablement plus robuste que l'identifiant. –