Cada sistema Mac OS X en mi empresa utiliza 3 locales de cuentas de usuarios.
1er usuario es un administrador local del usuario, el 2do usuario es un local de usuario estándar y el 3 de usuario es un administrador local del usuario.
El 3 de cuenta de usuario está siendo utilizado desde mi Departamento de Seguridad para escanear nuestro Mac OS X sistemas.
Este 3er usuario nunca se ha iniciado sesión en el sistema.
El 3 de usuario está ahí, pero este usuario no tiene una regular /Users/username
carpeta de la ruta. De nuevo está ahí, lo puedo usar, me puede SSH, etc. pero una vez más no tiene una regular /Users/username
casa camino, porque nunca hemos de iniciar la sesión.
Necesito crear un script en bash que va a cambiar y actualizar este 3 de contraseña de usuario.
Navegando por la web, encontré esta solución:
sudo /usr/bin/dscl . -passwd /Users/username newpassword
sudo security set-keychain-password -o oldpassword -p newpassword /Users/username/Library/Keychains/login.keychain
Mi problema es que el usuario no tiene una regular /Users/username
casa camino, porque nosotros nunca sesión. Acabamos de crear el usuario, de modo que el equipo de Seguridad puede utilizar para escanear.
¿Cómo puedo crear un script en bash que va a cambiar la contraseña?
Solo para que lo sepas, se ha creado el usuario con la siguiente secuencia de comandos:
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}"