Come determo se un utente di Apple Open Directory è disabilitato tramite LDAP?

Ho un utente di Open Directory che ha la casella "Account di accesso" non selezionata in Workgroup Manager in modo che non possano accedere. C'è un modo per determinare questo utilizzando una query LDAP?

Sarebbe anche opportuno verificare l'impostazione di login Shell per /bin/false tramite LDAP, come alcuni amministratori lo utilizzano per distriggersre gli accessi.

  • Inizio lento di IE8 a causa delle query DNS LDAP
  • Il server VPN non risponde, nessuna indicazione del traffico bloccato
  • Risoluzione dei problemi sudoers tramite ldap
  • Integrazione di LDAP Active Directory
  • Strumento di gestione degli utenti LDAP per Mac 10.7.1
  • ldap_add nessun object (32) abbinato dn dc = dominio dc = com
  • Master è morto - promuove lo slave LDAP al master
  • Amministratore del database
  • Account di vsftpd di authentication utilizzando l'utente LDAP remoto
  • Posso configurare pam_ldap senza configurare nss?
  • Qual è la syntax di query AD per enumerare tutti gli utenti di un determinato gruppo?
  • Active Directory e Workgroup Manager di Apple
  • 2 Solutions collect form web for “Come determo se un utente di Apple Open Directory è disabilitato tramite LDAP?”

    Se un account è distriggersto non è memorizzato nel database LDAP, quindi non è ansible get con alcuna query LDAP; è nel database del server di password, quindi è necessario interrogare il server di password. Per fare questo, è necessario prima get l'ID slot dell'account per l'account, che sarà in uno degli attributi authAuthority in LDAP, qualcosa di simile:

     authAuthority: ;ApplePasswordServer;0x4ae508585b4ac9840000000500000005,1024 35 1484429831226030758363098280788558407709702186716704057921377682138163682495133 1971257473356121601282837516549920614867084718242948054970731529476886852497051 1771493871066923475105955010041662310891335912128945258881795910315183596873989 2049755102190782235854169470422244680045551515607049216054651273928793669 root@myserver.example.com:10.0.0.5 

    In questo esempio, "0x4ae508585b4ac9840000000500000005" è l'ID slot del passwords dell'utente. Una volta che è ansible, è ansible connettersi al server di password e controllare le politiche di password dell'utente:

     $ telnet 10.0.0.5 3659 Trying 10.0.0.5... Connected to myserver.example.com. Escape character is '^]'. +OK ApplePasswordServer 10.6.0.0 password server at 10.1.0.1 ready. getpolicy 0x4ae508585b4ac9840000000500000005 +OK isDisabled=1 isAdminUser=0 newPasswordRequired=0 usingHistory=0 canModifyPasswordforSelf=1 usingExpirationDate=0 usingHardExpirationDate=0 requiresAlpha=0 requiresNumeric=0 expirationDateGMT=44451553867008 hardExpireDateGMT=44451553900288 maxMinutesUntilChangePassword=0 maxMinutesUntilDisabled=0 maxMinutesOfNonUse=0 maxFailedLoginAttempts=0 minChars=0 maxChars=0 passwordCannotBeName=0 requiresMixedCase=0 requiresSymbol=0 notGuessablePattern=0 isSessionKeyAgent=0 isComputerAccount=0 adminClass=0 adminNoChangePasswords=0 adminNoSetPolicies=0 adminNoCreate=0 adminNoDelete=0 adminNoClearState=0 adminNoPromoteAdmins=0 quit +OK password server signing off. Connection closed by foreign host. 

    Notare la politica "isDisabled = 1" in quell'elenco, indicando che questo utente è attualmente distriggersto.

    Per trovare l'utente del valore Shell Login:

    Filtro di ricerca di (loginShell=/bin/false) (Anche se potrebbero essere necessari delle virgolette attorno ad esso in quanto vi sono delle barre in esso.

    Legarsi con un browser LDAP come ApacheDS o LBE e guardare un utente che può e uno che non può accedere e cercare gli attributi evidenti.

    Mentre qualcuno può conoscere la risposta, in questo modo ti insegna a pescare, invece di consegnarti un pesce. O altrimenti smette semplicemente come un pesce marcio. Il tuo chilometraggio può variare.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.