2 votes

Comment changer le mot de passe d'un utilisateur admin local qui n'a jamais été connecté en utilisant un bash script.

Tous les systèmes Mac OS X de mon entreprise utilisent 3 comptes d'utilisateurs locaux .

Le 1er utilisateur est un utilisateur administrateur local, le 2ème utilisateur est un utilisateur standard local et le 3ème utilisateur est un utilisateur normal. 3ème utilisateur est un utilisateur administrateur local.

Le 3ème compte utilisateur est utilisé par mon département de sécurité pour scanner nos systèmes Mac OS X.

Ce site 3ème utilisateur n'a jamais été connecté au système .

Le 3ème utilisateur est là, mais cet utilisateur n'a pas d'abonnement régulier. /Users/username dossier de chemin. Encore une fois, il est là, je peux l'utiliser, je peux SSH, etc. mais encore une fois, il n'a pas d'adresse régulière. /Users/username chemin d'accès parce que nous ne nous connectons jamais.

J'ai besoin de créer un bash script qui va changer et mettre à jour le mot de passe de ce 3ème utilisateur.

En surfant sur le web, j'ai trouvé cette solution :

sudo /usr/bin/dscl . -passwd /Users/username newpassword
sudo security set-keychain-password -o oldpassword -p newpassword /Users/username/Library/Keychains/login.keychain

Mon problème est que l'utilisateur ne dispose pas d'une carte de crédit régulière. /Users/username chemin d'accès, parce que nous ne nous connectons jamais. Nous avons juste créé l'utilisateur pour que l'équipe de sécurité puisse l'utiliser pour le scan.

Comment puis-je créer un bash script qui va changer le mot de passe ?

Pour votre information, l'utilisateur a été créé avec le script suivant :

USERNAME="Batman"
USERFULLNAME="Batman Scan User"
USERUID="512"
USERPASS="BatmanPassword"

dscl . -create /Users/"${USERNAME}" isHidden 1
dscl . -create /Users/"${USERNAME}" UserShell /bin/bash
dscl . -create /Users/"${USERNAME}" RealName "${USERFULLNAME}"
dscl . -create /Users/"${USERNAME}" UniqueID "${USERUID}"
dscl . -create /Users/"${USERNAME}" PrimaryGroupID 20
dscl . -create /Users/"${USERNAME}" NFSHomeDirectory /Users/"${USERNAME}"
dscl . -passwd /Users/"${USERNAME}" "${USERPASS}"
dscl . -append /Groups/admin GroupMembership "${USERNAME}"

2voto

Oskar Points 1242

Je créerais simplement de nouveaux comptes avec les informations d'identification dont vous avez besoin et je me soucierais de supprimer les comptes cassés plus tard.

Si votre MDM est JAMF, utilisez leur outil pour automatiser la création de comptes administrateurs cachés et pousser le script. Sinon, cherchez l'outil github / Mac App Store CreateUserPkg

Je ne réinventerais pas la roue ici et je m'appuierais plutôt sur les épaules des géants ci-dessus.

2voto

nohillside Points 82672

Vous devriez être capable d'exécuter

sudo /usr/bin/dscl . -passwd /Users/username newpassword

pour modifier le mot de passe. Le chemin d'accès n'est pertinent que dans les services d'annuaire, il n'a pas besoin d'être reflété sur le disque.

La deuxième commande ( sudo security set-keychain-password ) concerne la modification du mot de passe des données du trousseau, mais tant que l'utilisateur n'a pas de trousseau au départ, il n'est pas nécessaire (ni possible) de le modifier.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X