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.

  • Open Directory e SAML Identity Provider
  • Apri directory, parti file NFS esterne e automounter
  • Quali comandi cambieranno le password di Open Directory?
  • Perché Mac OSX Lion perde login / credenziali di networking?
  • Come risolvere gli errori "HTTP / 1.1 403 Forbidden" dal server iCal / CalDAV dopo l'aggiornamento a Snow Leopard Server?
  • Aggiungere l'attributo memberOf a tutti gli utenti di OpenLDAP su OS X Lion Server Open Directory
  • Ripercussioni di aumentare il livello funzionale del dominio fino a 2008 sui computer Mac che eseguono 10.6.2 con OD
  • Richiesta per il gruppo di utenti quando si effettua la logging nel dominio OSX
  • 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.