GNU/Linux >> Tutoriels Linux >  >> Linux

Comment obtenir la date d'expiration du mot de passe utilisateur à partir d'Active Directory ?

Cela dépend de la configuration du contrôleur de domaine. Vous pouvez essayer :

net ads user info [email protected] -S DC_SERVER_NAME -U USERNAME

[email protected] est le compte à partir duquel recueillir des informations, DC_SERVER_NAME est le nom d'hôte de votre contrôleur de domaine et USERNAME est votre nom d'utilisateur.

Vous serez invité à saisir le mot de passe de votre domaine.

Maintenant, vous obtenez soit des informations sur votre compte, y compris la date d'expiration de votre mot de passe, soit vous obtenez

ads_pull_uint32 failed

dans ce cas, votre contrôleur de domaine n'est pas configuré pour fournir des informations de compte à des systèmes de type UNIX.

Vous pouvez contacter votre administrateur de domaine pour le convaincre d'installer et de configurer les services Microsoft Windows pour UNIX afin que cette commande vous donne les informations nécessaires.

Cette réponse pourrait être frustrante. C'est pour moi car je suis dans la même situation et j'ai beaucoup étudié le sujet.

Ma solution de contournement :je définis un rappel de calendrier 80 jours dans le futur, lorsque je définis mon mot de passe de domaine (smbpasswd -U USERNAME -r DC_SERVER_NAME), car il expire tous les 90 jours. Pas parfait, mais réalisable.

[MISE À JOUR] J'ai trouvé un moyen de déterminer la date d'expiration de votre mot de passe de domaine avec rpcclient, voici mon script :

#!/bin/bash
# author: Tim Wahrendorff 2016
# licence: Public Domain - https://wiki.creativecommons.org/wiki/Public_domain
# 
# To use this script you need at least: 
# sudo apt-get install libnotify-bin rpcclient
#
# Please set your account, password and domaincontroller to use this script


USER="username" # Domain accountname
PASS="Pa$$W0rd" # Domain password
DC="vmdc01"     # Domaincontroller

### START RPCCLIENT query
if [ "x$USERDCID" == "x" ]; then
    RPCLOOKUPID=$(rpcclient -U $USER%$PASS -c "lookupnames $USER" $DC 2> ./rpc_errFile)

    USERDCID=$(echo "$RPCLOOKUPID" | grep -e '[0-9]\{4,9\} ' -o)
fi

QUERYUSER=$(rpcclient -U $USER%$PASS -c "queryuser $USERDCID" $DC 2> ./rpc_errFile)

EXPDATE=$(echo "$QUERYUSER" | grep 'Password must change Time' | grep -e '[a-Z]\{2\}, [0-9]\{2\} [a-Z]\{3\} [0-9]\{4\} [0-9]\{2\}:[0-9]\{2\}' -o)

## Load rpc error Message
RPCERR=$(<./rpc_errFile)

## send notifications to Unity Desktop
if [ "x$RPCERR" != "x" ]; then
    notify-send -i /usr/share/icons/gnome/48x48/status/dialog-error.png "Error while fetching expiration date of your domain password" "$RPCERR"    
else
    notify-send -i /usr/share/icons/gnome/48x48/status/dialog-information.png "your domain password expires at " "$EXPDATE h"
fi

### END RPCCLIENT query

J'ai configuré ce script pour qu'il s'exécute au démarrage automatique, je me montre quand mon mot de passe de domaine expirera dans une notification Unity. N'hésitez pas à étendre, améliorer et republier ce script, il est du domaine public.

[/MISE À JOUR]


Sous Linux, vous pouvez utiliser pdbedit

pdbedit -L -v -u <username>

Et recherchez la ligne :Le mot de passe doit changer


Linux
  1. Comment obtenir la taille du répertoire sous Linux

  2. Comment déterminer la date d'expiration du certificat SSL à partir d'un certificat encodé PEM ?

  3. Comment copier un fichier/dossier depuis le répertoire personnel d'un autre utilisateur sous Linux ?

  4. Comment obtenir le nom de l'utilisateur à partir de l'uid

  5. Comment puis-je répertorier les attributs d'utilisateur Active Directory à partir d'un ordinateur Linux ?

Comment réinitialiser le mot de passe de l'utilisateur administrateur de weblogic

Comment changer le mot de passe de l'utilisateur MySQL depuis cPanel ?

Comment changer le mot de passe de l'utilisateur de la base de données MS SQL à partir de SolidCP ?

Comment changer le mot de passe de l'utilisateur de la base de données MS SQL à partir de WebsitePanel 2.1 ?

Comment :configurer Active Directory dans Windows Server 2012

Comment obtenir un nom de domaine sous Windows à l'aide de la commande ?