Autentica gli utenti Mac con LDAP

2

Mi sono collegato al server LDAP con un account speciale e ho cercato la password usando l'utility Directory.

Quando imposto il servizio LDAPv3 su Mapping LDAP RFC2307, con SSL selezionato, posso spostarmi su Directory Editor e autenticarlo usando il nome utente e la password per la directory LDAP. Non riesco comunque ad accedere al computer.

Ho fatto questo:

  1. Hai selezionato la casella in Utenti & Gruppi: consente agli utenti della rete di accedere ....
  2. Opzioni selezionate
  3. Scegli solo questi utenti di rete
  4. Ho fatto clic su + e cercato il mio nome utente LDAP
  5. Seleziona il nome utente in modo che venga visualizzato nell'elenco.

Quando provo ad accedere, la casella si scuote e questi messaggi di errore del registro arrivano nel system.log.

Aug 31 10:35:58 MacBook-Pro SecurityAgent[1150]: User info context values set for 
userid
Aug 31 10:35:58 MacBook-Pro authorizationhost[1157]: Failed to authenticate
user <userid> (error: 13).

Alcune guide sul web indicano che l'errore 13 è così:

Indicates that the session is not protected by a protocol such as
Transport Layer Security (TLS), which provides session 
confidentiality and the request will not be handled without
confidentiality enabled.

Ma ho scelto SSL e non ho trovato una scatola o un metodo per cambiarlo in TLS nell'utilità di directory di Mac. Quando faccio clic su Sicurezza nella sezione di installazione (dove inserisco l'informazione "usa autenticazione durante la connessione") le opzioni di politica di sicurezza non sono disponibili con il messaggio "Le funzionalità e i requisiti del server determinano la disponibilità delle opzioni."

Quindi, non posso scegliere di firmare tutti i pacchetti o di criptare tutti i pacchetti ...

Quando scelgo altri schemi di connessione, come Open Directory o Custom, non sono stato in grado nemmeno di autenticarmi nella finestra dell'Editor di directory. (Errore 500, 2100)

Le informazioni di "autenticazione al momento della connessione" sono le stesse che uso per le applicazioni Web che forniscono l'accesso tramite LDAP, quindi funziona sicuramente sul campo. Appena non apparentemente dal Mac quando si tenta di accedere.

Hai qualche consiglio per consentire agli utenti di autenticarsi su questo mac tramite LDAP per accedere alle cartelle condivise?

    
posta ndasusers 31.08.2016 - 17:21
fonte

1 risposta

1

Ecco alcune impostazioni che stanno funzionando per ora per fornire un account Style Kiosk predefinito per l'accesso tramite l'autenticazione LDAP.

Fileserver: MacBookPro Mac OS: El Capitan

Questo è basato su Collegamento 10.5 a LDAP di Stanford

Con questa configurazione, tutti gli utenti LDAP effettueranno l'accesso, ma avranno la stessa directory home e l'id utente di sistema. È utile solo se un utente ldap alla volta effettuerà l'accesso alla macchina.

Crea il contenuto predefinito della cartella home dell'utente

Crea un utente standard da Apple - > Preferenze di sistema - > Utenti e amp; Gruppi

User: ldaptemplate
Pass: randomAnyP@ssKe1

Accedi come ldaptemplate. (Personalizza il desktop se preferisci.)

Esci

Crea una cartella con un ID univoco come proprietario, quindi copia tutto all'interno di ldaptemplate nella nuova cartella.

su -s 
mkdir /Users/ldap
rsync --quiet --recursive --links --perms --group --delete --extended-attributes /Users/ldaptemplate/ /Users/ldap
chown -R 900 /Users/ldap

Aggiungi lo script di reimpostazione della directory home al gancio di accesso

mkdir /Library/Management
nano /Library/Management/ldapcleanup.bash

Incolla nello script di seguito

#!/bin/bash
# /Library/Management/ldapcleanup.bash
# Copies the templates user home directory to the Kiosk user home dir
# When a Kiosk user logs in using LDAP authentication

templateDir="/Users/ldaptemplate/";
targetDir="/Users/ldap";
targetOwner=900;

# this script must be run as root, bail if it is not
if [ "$(whoami)" != "root" ]; then
echo "This script must be run as root!"
exit 0;
fi

# here we test to make sure both the directories we are using exist on this system
if [ ! -d $templateDir ] || [ ! -d $targetDir ]; then
echo "Either $templateDir or $targetDir did not exist!";
exit 0;
fi

# now we use rsync to make the target mirror the template
# note that we are not preserving owner
rsync --quiet --recursive --links --perms --group --delete --extended-attributes $templateDir $targetDir

# and then we make sure everything has the correct owner
chown -R $targetOwner $targetDir

exit 0;

Salva lo script e chiudi l'editor

control + x y return

Esegui lo script quando un utente effettua l'accesso

 defaults write com.apple.loginwindow LoginHook /Library/Management/ldapcleanup.bash

Esci dalla modalità terminale utente root

exit

Aggiungi il tuo ldap.server.tld alla lista in Directory Services

comando + spazio - > Utilità di directory - > immettere

Fai clic su Blocca e autenticati per apportare modifiche

Scegli LDAPv3 - > Modifica - > Nuovo

    Server Name or IP Address: ldap2.server.tld
    √ Encrypt using SSL
    √ Use for authentication
    Continue

Seleziona server - > Fai clic su Modifica

Imposta tutte le parti di ciascuna scheda come di seguito, in modo che corrispondano ai requisiti del server LDAP e ai campi di informazione forniti. Stuff qui, ha lavorato a questo particolare lavoro.

Scheda Connessione:

Configuration name: ldap2.server.tld
Server Name or IP Address: ldap2.server.tld
default timeouts
√ Encrypt using SSL
Default port is 636 (your server may need custom)

Cerca e amp; Scheda Mapping

  • Questa parte rende o interrompe il login. Avevo bisogno solo di un'impostazione minima alla fine. Fondamentalmente le cose sul lato sinistro delle caselle possono essere mappate alle proprietà LDAP sul lato destro. Potrebbero essere informazioni sulla persona o sugli elementi dell'account come la cartella home della rete e molte altre cose.

    Scegli Personalizza, cancella tutto dalla casella di sinistra, quindi aggiungi la seguente.

    > People         (Search base: ou=People,dc=server,dc=edu)
        RecordName   Map to uid
    > UserAuthenticationData (Search base: ou=People,dc=server,dc=edu)
        RecordName  Map to uid
    > Users      Search base: ou=People,dc=server,dc=edu) 
                 Map to inetOrgPerson
        AuthenticationAuthority  Map to uid
        EMailAddress             Map to mail
        FirstName                Map to givenName
        JobTitle                 Map to title
        LastName                 Map to sn
        NFSHomeDirectory         Map to #/Users/ldap
        OrganizationName         Map to serverEduStaffDepartment
                                 (or some existing ldap field)
        PostalAddress            Map to postalAddress
        PrimaryGroupID           Map to #900 
        RealName                 Map to cn (users ldap full name)
        RecordName               Map to aid (users ldap id)
        UniqueID                 Map to #900
                                (Default owner of that folder we made)
        UserShell                #/bin/bash
    

Scheda Sicurezza:

  • Questo server LDAP richiede all'account autorizzato del gruppo di cercarlo. Senza questo account, la schermata di accesso sul Mac mostrava un punto rosso, incapace di connettersi alla rete. Queste informazioni sono configurate e fornite dal team di amministrazione LDAP in questa organizzazione.

    Access to Directory
      √ Use authentication when connecting 
      Distinguished Name: uid=someid,ou=SomeGroup,dc=server,dc=edu
      Password: somelongpasswordstringprovidedbyldapadmins
    
    Click OK, OK
    

Scegli criterio di ricerca

Click + 
Add your new LDAP server to the list

Scegli l'Editor di directory e prova a utilizzare la ricerca e il login LDAP.

Select Users in node /LDAPv3/ldap.server.tld
    * Try searching for your id, If you can't find it something wrong
      with setup.
    * Click the lock to authenticate. If you can't something did not
      map right. Check that mac did not auto-correct 'uid'

Click lock to de-authenticate

Close Directory Utility

Consenti l'accesso alla rete da parte degli utenti e amp; Gruppi

Questa parte sta dicendo a mac di controllare la directory ldap per gli account utente.

Click Apple -> System preferences -> Users & Groups

    Automatic Login: Off
    Display login window as Name and password
    Show fast user switching menu as Full Name
    Click the lock to make changes and authenticate
    √ Allow network users to log in at login window
    Click Edit near Network Account Server: 
    Click + and choose the ldap server created previously

Dopo queste modifiche, il MacBook è stato riavviato e potevo accedere come utenti autenticati LDAP. I messaggi di registro ora mostrano:

Sep  1 13:40:24 MacBook-Pro SecurityAgent[652]: User info context 
                values set for auser
Sep  1 13:40:44 MacBook-Pro KeyAccess[62]: opened session B8860100,
                auser (en_US)

Dopo aver completato tutte le impostazioni, la risposta alla domanda originale, "Hai qualche consiglio per consentire agli utenti di autenticarsi su questo mac da LDAP per accedere alle cartelle condivise?" è quello di configurare tutto come sopra, quindi condividere la cartella con l'utente della rete.

Aggiungi gli accessi di rete alla risorsa condivisa

Click Apple -> System preferences -> Sharing
Choose File Sharing
Select the Shared Folder:
Click + in the Users box
Choose Network Users
Search for the ldap ID you want to add
Highlight the user
Click Select

Dopo questo, quando il giocattolo di backup è stato lanciato, gli utenti della rete si sono autenticati e lo script ha funzionato bene come quando è stato autenticato contro l'account utente locale.

    
risposta data 01.09.2016 - 20:00
fonte

Leggi altre domande sui tag