J'essaie d'installer manuellement un démon (Oracle Grid Engine) sur ma machine, et je voudrais qu'il s'exécute sous un compte isolé. Quelle est la meilleure façon, en utilisant les services d'annuaire, d'ajouter un compte "système" à la machine locale sous OS X? Beaucoup d'entre eux existent dans / etc / passwd ( _www
, _dovecot
, etc.), mais les commentaires en haut de ce mot de fichier qu'il ne soit pas utilisé , sauf en mode mono-utilisateur.
J'exécute sur 10.6 et ne nécessite aucune gestion de compte en réseau spéciale. J'espère quelque chose de simple - l'équivalent de useradd
sur presque tous les autres systèmes d'exploitation de type Unix.
mac-osx
user-management
directory-services
Tim Yates
la source
la source
J'ai essayé le script du pair et j'ai trouvé quelques problèmes. Je l'ai donc modifié pour un ID utilisateur spécifique et pour OS X Mavericks (10.9).
J'ai constaté qu'il y avait quelques enregistrements étrangers ajoutés au compte d'utilisateur sous Mavericks - un mot de passePolicyOptions et un enregistrement AuthenticationAuthority - qui devaient être supprimés pour imiter correctement d'autres comptes d'utilisateurs de services intégrés (comme _www).
J'ai également ajouté les enregistrements Password et RealName au compte Group.
J'ai créé un script personnalisé unique pour un compte de service WSGI. Voici le script mis à jour.
Notez qu'après avoir exécuté ce script, les fichiers / etc / passwd et / etc / groups ne sont pas mis à jour. Je pense qu'ils sont mis à jour au redémarrage.
la source
EDIT: Mis à jour le 9 janvier 2014 pour OS X Mavericks (suggestions de Dave, merci!)
J'ai écrit un script bash pour ce faire. Il utilisera le premier UID inutilisé qui est inférieur ou égal à 500 (UID de compte démon sur Mac OS X) qui a également un GID inutilisé identique.
Enregistrez le script dans un fichier nommé
add_system_user.sh
et définissez-le exécutable avecchmod 755 add_system_user.sh
.Supposons ensuite que vous souhaitiez ajouter un utilisateur démon / système appelé par . Vous exécuteriez ce script comme ceci:
sudo add_system_user.sh par
Et vous obtiendrez un utilisateur système appelé
_par
qui a un alias pourpar
(le nom que vous avez demandé) et a un uid et un gid correspondants (par exemple 499 ou tout ce qu'il a trouvé).Voici le script:
la source
Voici un article qui explique comment utiliser dscl pour créer un compte utilisateur.
article osxdaily.com
la source
dscl /Local/Default -read /Users/_sshd
(dscl /Local/Default -ls /Users
vous obtiendrez une liste des comptes locaux). Notez que vous n'avez pas besoin de définir tous les attributs; GeneratedUID est généré de manière aléatoire et RecordType est des métadonnées automatiques. De plus, la plupart des comptes système OS X ont un nom de compte principal qui commence par un trait de soulignement et un alias sans celui-ci pour une compatibilité descendante; Je recommande d'utiliser la convention de soulignement, mais ne vous embêtez pas avec l'alias simple, sauf si vous en avez besoin.Voici une version du script de Dave, qui vérifie également si l'utilisateur / le groupe existe avant de le créer:
et un script pour supprimer l'utilisateur:
la source