GNU/Linux >> Znalost Linux >  >> Linux

Jak získat datum vypršení platnosti uživatelského hesla z Active Directory?

To závisí na konfiguraci řadiče domény. Můžete zkusit:

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

kde [email protected] je účet, ze kterého se mají shromažďovat informace, DC_SERVER_NAME je název hostitele vašeho řadiče domény a USERNAME je vaše uživatelské jméno.

Budete vyzváni k zadání hesla domény.

Nyní získáte buď informace ke svému účtu, včetně data vypršení platnosti vašeho hesla, nebo získáte

ads_pull_uint32 failed

v tomto případě váš řadič domény není nakonfigurován k poskytování informací o účtu systémům podobným UNIXu.

Můžete se obrátit na správce domény a přesvědčit ho, aby nainstaloval a nakonfiguroval služby Microsoft Windows pro UNIX, aby vám tento příkaz poskytl potřebné informace.

Tato odpověď může být frustrující. Je to pro mě, protože jsem ve stejné situaci a hodně jsem to téma zkoumal.

Mé řešení:Když nastavím heslo své domény (smbpasswd -U USERNAME -r DC_SERVER_NAME), nastavím připomenutí kalendáře na 80 dní v budoucnu, protože jeho platnost vyprší každých 90 dní. Ne dokonalé, ale funkční.

[AKTUALIZACE] Našel jsem způsob, jak určit datum vypršení platnosti hesla vaší domény pomocí rpcclient, zde je můj skript:

#!/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

Nakonfiguroval jsem tento skript tak, aby se spouštěl při automatickém spuštění, v oznámení Unity se mi zobrazí, kdy vyprší platnost hesla mé domény. Neváhejte tento skript rozšířit, vylepšit a znovu publikovat, je veřejnou doménou.

[/UPDATE]


V linuxu můžete použít pdbedit

pdbedit -L -v -u <username>

A hledejte řádek:Heslo se musí změnit


Linux
  1. Jak spravovat vypršení platnosti uživatelského hesla a stárnutí v Linuxu

  2. Obnovte heslo uživatele služby Active Directory

  3. Jak získat velikost adresáře v Linuxu

  1. Jak určit datum vypršení platnosti certifikátu SSL z certifikátu kódovaného PEM?

  2. Jak zkopíruji soubor/složku z domovského adresáře jiného uživatele v Linuxu?

  3. Jak používat realmd v Ubuntu 14.04 LTS pro připojení k doméně Active Directory?

  1. Jak změnit oprávnění z uživatele root na všechny uživatele?

  2. Jak identifikovat uživatele, který maže soubory z daného adresáře v Linuxu

  3. jak vyhledat adresář z terminálu v ubuntu