Lunedì, 29 Agosto 2016 00:00

Guasto disastroso, danni contenuti

Il fatto: un hard disk di un server si rompe mentre il server è in funzione.
Epilogo finale: quasi tutto è integro e funzionante!

Condivido questa storia perché mi sembra efficace per raccontare tecnologie e pratiche vincenti e, anche, per evitare leggerezze che hanno conseguenze non positive.
I fatti narrati sono tutti veri. Di fantasia, invece, i nomi.
Quindi ora allaccia le cinture; inizia il racconto e la condivisione di alcune considerazioni alla fine.

Pubblicato in Informatica
Venerdì, 19 Febbraio 2016 19:57

AtoM: how to install on RedHat\CentOS 7.x

A little guide, in cookbook stile, to install AtoM into Linux RedHat or CentOS release 7 from zero.

Pubblicato in Informatica
Venerdì, 19 Febbraio 2016 19:54

Suonare un file in Gnome da CLI

Per suonare un file audio dando il comando da riga di comando possiamo usa canberra-gtk-play.
NB: questo howto funziona solo se X è attivo e se si usa Gnome.

Pubblicato in Informatica

1. Problema

Cone Red Hat 7.x e derivate, usando il set di comandi di LVM si ottiene un errore “xxxx not unlocked” sia nel vedere, manipolare, creare o cancellare un qualcosa dell'LVM.
L'errore compare anche se uno o più volumi nell'host funzionano senza apparenti problemi.
Pur non causando danni non è più possibile la manipolazione/manutenzione dei volumi LVM.

Pubblicato in Informatica
Venerdì, 19 Febbraio 2016 19:45

Aumentare l'entropia Linux in RedHat e derivate

L'entropia è la misurazione della confusione. Maggiore è la confusione, maggiore è l'entropia.
In un sistema informatica è importante tenere alta l'entropia per avere delle generazioni casuali di qualità. Alcuni programmi, come quelli per la generazione di chiavi ssl, gpg, ecc... usano l'entropia di sistema per creare dati validi.
Ora in un sistema virtualizzato l'entropia tende ad essere così bassa da essere insufficiente (=inferiore a 200). Ciò causa alcuni strani come falsi positivi di attacchi CSRF, chiavi SSL non consistenti, ecc....
Nei sistemi Linux RedHat e derivate si può vedere l'entropia del sistema con
# cat /proc/sys/kernel/random/entropy_avail
Un valore inferiore a 200 è da considerarsi insufficiente. Valori normali sono nell'ordine di grandezza di 3000-4000.
Pubblicato in Informatica

Scopo di questa guida è di presentare in modo semplice e veloce come installare JBoss e avviarlo automaticamente. A corredo vengono date alcune indicazione aggiuntive di natura sistemistica utili soprattutto agli inizi.

Pubblicato in Informatica
Venerdì, 19 Febbraio 2016 17:21

Come rimuovere i vecchi kernel con yum

La rimozione di vecchi kernel è opportuno farla con yum. Infatti yum provvede automaticamente alle rimozione dei pacchetti correlati/dipendenti (es. i moduli ed i file di header specifici) e aggiornaautomaticamente sia il menu di boot che gli elenchi dei pacchetti installati.
L'articolo della RedHat descrive la procedura tramite rpm. Questa non aggiorna il menu di boot e non rimuove moduli ed header.


Per rimuovere con yum:

 

  1.  fare login come root o diventare root:
    $ su -
     
  2. OPZIONALE: per verificare empiricamente le modifiche automatiche che fa yum verificare il descrittore del menu di boot
     # less /boot/grub/menu.lst
     
  3. chiedere l'elenco dei pacchetti rpm di kernel installati (a titolo di esempio riporto un output reale):
     # rpm -q kernel
        kernel-2.6.32-279.el6.x86_64
        kernel-2.6.32-279.2.1.el6.x86_64
        kernel-2.6.32-279.5.1.el6.x86_64
     #
     
  4. rimouvere il kernel desiderato riportando per inter il nome ottenuto dalla precedente query:
     # yum remove kernel-2.6.32-279.el6.x86_64
     
  5. OPZIONALE: per verificare empiricamente le modifiche fatte da yum verificare il descrittore del menu di boot
     # less /boot/grub/menu.lst

Articolo di partenza: https://access.redhat.com/knowledge/solutions/1227
Distro: RedHad, CentOS e derivate

Pubblicato in Informatica

La rimozione di vecchi kernel è opportuno farla con yum. Infatti yum provvede automaticamente alla rimozione dei pacchetti correlati/dipendenti (es. i moduli ed i file di header specifici) e aggiorna automaticamente sia il menu di boot che gli elenchi dei pacchetti installati. Ma come si fa? Ecco le istruzioni...


Un articolo della knoledge base della RedHat è stato il mio punto di partenza:
URL: https://access.redhat.com/knowledge/solutions/1227
ma descrive la procedura tramite l'uso diretto di rpm. Rpm non aggiorna il menu di boot e non rimuove moduli ed header.
Per rimuovere con yum:

 

  1.  fare login come root o diventare root:
    [adminpv@srv ~] su -
     
  2. OPZIONALE: per verificare empiricamente le modifiche automatiche che fa yum verificare il descrittore del menu di boot
     [root@srv ~]# less /boot/grub/menu.lst
     
  3. chiedere l'elenco dei pacchetti rpm di kernel installati (a titolo di esempio riporto un output reale):
    [root@srv ~]# rpm -q kernel
    kernel-2.6.32-279.el6.x86_64
    kernel-2.6.32-279.2.1.el6.x86_64
    kernel-2.6.32-279.5.1.el6.x86_64
    [root@srv ~]#
     
  4. rimouvere il kernel desiderato riportando per inter il nome ottenuto dalla precedente query:
    [root@srv ~]# yum remove kernel-2.6.32-279.el6.x86_64
     
  5. OPZIONALE: per verificare empiricamente le modifiche fatte da yum verificare il descrittore del menu di boot
    [root@srv ~]# less /boot/grub/menu.lst
Pubblicato in Informatica

HowTo in salsa cookbook

Questo documento descrive, in salsa cookbook, come realizzare il join di una macchina Red Hat Linux Server versione 6 ad un dominio Active Directory realizzato con Windows server 2003 o 2008.

Segue una seconda parte che descrive come poter montare i dischi esposti da Windows ed usarli in scrittura e lettura.

A seconda dei requisiti una volta fatto il join sarà anche possibile usare le utenze del dominio Windows per fare le autenticazioni sulla macchina Linux.

Essendo un testo in salsa cookbook non c’è spiegazione o approfondimento tecnico. Si aggiunge una piccola sezione di troubleshooting, sempre in forma cookbook.


1. Premessa

Prima di passare alla parte operativa è bene raccogliere i dati del dominio dal sistemista che gestisce il dominio. In questa guida si ipotizza la seguente configurazione:

Hostname del server Windows: win1.dom.it

IP del server Windows: 10.0.0.1

DNS 1: 10.0.0.3

DNS 2: 10.0.0.4

Server NTP: 10.0.0.5

Nome Dominio: dom.it

Nome Gruppo Windows: domit

Hostname del server Linux: redhat100.dom.it

IP del server Linux: 10.0.0.100

Disco contiviso da Windows: testsharing


 

NOTA 1: il server NTP deve essere quello usato dal server Windows.

NOTA 2: le indicazioni qui riportate potrebbe non dare successo. Esistono alcune varianti in Linux e in Windows server, ma, sopratutto, dipende dalle configurazioni del dominio Windows. Windows facilita molto l’amministratore nel configurare il server, ma non rende subito visibili alcuni parametri di configurazione. Potrebbe essere necessaria una analisi più dettagliata della configurazione del server da parte dall’amministratore.

NOTA 3: il nome del server Linux deve essere già registrato nel DNS del dominio Windows.

2. Join di una macchia RHEL a Dominio Windows 2K3/2K8

Per poter fare il join a un dominio Windows dobbiamo intervenire sul nostro server Linux prima configurando adeguatamente il DNS, poi la sincronizzazione dell’orario in sintonia con la configurazione del PDC del dominio Windows, configureremo poi Kerberos ed in fine faremo il join.

2.1. Verifica firewall

Prima di procedere oltre è bene controllare che non sia attivo un firewall in Linux. Infatti potrebbe verificarsi che le corrette configurazioni diano risultati fallimentare perché le comunicazioni sono interrotte dal firewall. Finita tutta la configurazione e certi del buon funzionamento di tutto si può ripristinare il firewall facendo attenzione a lasciare aperte le varie porte necessarie al funzionamento di tutto.

Per disattivare il firewall:

service iptables off

chkconfig iptables off

2.2. Configurazione del DNS

  1. Collegarsi al server Red Hat come root ed editare il file /etc/resolv.conf

  2. inserire le seguenti righe:

    search dom.it

    nameserver 10.0.0.3

    nameserver 10.0.0.4

2.3. Configurazione client NTP

  1. Verificare l’installazione del demone NTP ed installarlo se non presente:

    yum install ntp atpdate

  2. editare /etc/ntp.conf e aggiungere il server NTP del dominio (nota: se ci sono altri server inseriti, quello usato dal dominio deve essere il primo):

    server 10.0.0.5

  3. riavviamo il demone

    service ntpd restart

  4. impostiamo il demone come servizio di defualt all’avvio della macchina

    chkconfig ntpd on

NOTA: se la differenza di orario e data del server Linux rispetto a quella fornita dal server NTP impostata dovesse essere molto grande (ore o giorni) l’orario e la data corretta del server Linux devono essere impostati manualmente.

2.4. Configurazione di Kerberos

  1. Verificare l’installazione dei pacchetti kerberos client ed installarli se non presenti:

    yum install krb5-workstation

  2. editare il file /etc/krb5.conf

    [logging]

    default = FILE:/var/log/krb5libs.log

    kdc = FILE:/var/log/krb5kdc.log

    admin_server = FILE:/var/log/kadmind.log

    [libdefaults]

    default_realm = DOM.IT

    dns_lookup_realm = false

    dns_lookup_kdc = false

    ticket_lifetime = 24h

    renew_lifetime = 7d

    forwardable = true

    [realms]

    DOM.IT = {

    kdc = win1.dom.it

    admin_server = 10.0.0.1

    }

    [domain_realm]

    .dom.it = DOM.IT

    dom.it = DOM.IT

  3. testiamo la configurazione chiedendo la creazione di un ticket e successivamente chiediamo di vedere l’elenco dei ticket ricevuti. Per far questo dobbiamo usare un utente qualsiasi presente e attivo nel dominio:

    kinit Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.

    klist

2.5. Configurazione di samba

  1. Editare il file /etc/samba/smb.conf. Le righe riportate sono quelle fondamentali per il join:

    workgroup = DOMIT

    password server = 10.0.0.1

    realm = DOM.IT

    security = ads

    idmap uid = 16777216-33554431

    idmap gid = 16777216-33554431

    template shell = /sbin/nologin

    winbind use default domain = true

    winbind offline logon = false

    winbind enum users = Yes

    winbind enum groups = Yes

    client use spnego = Yes

    encrypt passwords = yes

    restrict anonymous = 2

    winbind refresh tickets = yes

    preferred master = no

    server string = Server RedHat

    passdb backend = tdbsam

  2. Avviare il demone winbind

    service winbind start

  3. Rendere il demone un servizio di default all’avvio:

    chkconfig winbind on

NOTA: ai fini del join e dell’SSO (descritta qui di seguito) è necessario il solo demone winbind. Winbind è una parte di SAMBA e si occupa esclusivamente del dialogo con i server Windows. Per far erogare servizi Windows anche alla nostra macchina Linux dobbiamo lanciare i demoni smbd e nmbd e completare adeguatamente la configurazione di SAMBA.

2.6. Join del server Linux

  1. Prima di dare l’istruzione accertarsi di avere username e password di un amministratore del server Windows abilitato ad accettare i join. Inoltre assicurasi di essere root sul server Linux. Per evidenziare eventuali errori si può aggiungere al comando qui di seguito l’opzione “--verbose”:

    net ads join -S win1.dom.it -U Administrator

  2. verifichiamo il buon risultato del join tramite il test base e la richiesta della lista degli utenti e dei gruppi del dominio:

    net ads testjoin

    wbinfo -u

    wbinfo -g

Arrivati a questo punto la nostra macchina è a tutti gli effetti un membro del dominio Windows. A seconda di quello che desideriamo possiamo sfruttare il server Windows per diversi vantaggi. I capitoli 3 e 4 illustrano due possibilità:

  • SSO, ovvero l'autenticazione usando la lista utenti presente sul server Windows

  • usare gli sharing esposti dal server Windows.

2.7. Troubleshooting

  1. Per verificare se il firewall è attivo, per spegnerlo e impostarlo come servizio standard o meno collegarsi come utente root.

    Per vedere se il firewall è attivo e vedere le regole attive:

    service iptables status

    Per disattivare al volo il firewall

    service iptables stop

    Per attivare al volo il firewall

    service iptables start

    Per rendere permanente la disattivazione del firewall

    chkconfig iptables off

    service iptables stop

    Per rendere permanente l’attivazione del firewall

    chkconfig iptables on

    service iptables start

  2. Per verificare se il DNS funziona regolarmente si può usare dig. Questo programma stampa sul monitor la risposta del DNS permettendo di capire la correttezza della configurazione e l’eventuale errore. Esempio

    dig www.libero.it

  3. L’ora della macchina Linux è sbagliata e ntp non la riallinea.

    Il demone ntp riallinea l’ora della macchina solo se la differenza è contenuta. Qualora ci siano ore di differenza, o giorni, o mesi o anni bisogna reimpostare manualmente data e ora. Successivamente ntp manterrà sincronizzata l’ora. Ipotizzando che vogliamo impostare data e ora al 1 agosto 2012, ore 9:00 procedere, come root, con il seguente comando. Il primo imposta date e ora del sistema, il comando seguente imposta data e ora del BIOS:

    service ntpd stop

    date -u -s "20120801 09:00:00"

    hwclock -u --set --date="1/8/12 9:00:00"

    service ntpd start

  4. La configurazione di SAMBA ed il suo corretto funzionamento può risultare complicato per l’estrema flessibilità che ha. Per avere documentazione ed eventuale supporto rimando ai siti di samba (http://www.samba.org) e di RedHat (http://www.redhat.com). Con RedHat è opportuno avere una sottoscrizione attiva per poter accedere anche alla parte FAQ, knoledgebase e supporto diretto.

    Un programma estremamente utile per verificare subito la correttezza formale della configurazione, ad avere riscontro dello stato di configurazione, ed, eventualmente, il dump della configurazione seza tutte le righe di commento è “testparm”. Come utente root dare il comando:

    testparm

3. Autenticazione centralizzata SSO

In questo capitolo vediamo come configurare il Server Red Hat per usare i nomi utente e le password presenti nel server Windows per autenticarsi anche sul Server Linux. A seconda di quello che si vuole ottenere si dovranno inserire specifiche righe di configurazione in SAMBA, Apache, ecc...

L'utente root è sempre locale. Inoltre dobbiamo creare anche un secondo utente locale per i login remoti e/o assumere l'identità di root se non lo configuriamo come nologin.

3.1. Personalizzazioni dei file di configurazione

  1. Editare /etc/samba/smb.conf e modificare la riga “template shell = /sbin/nologin” in

    template shell = /bin/bash

  2. editare il file /etc/nsswitch.conf

    passwd: files winbind

    shadow: files winbind

    group: files winbind

    hosts: files dns

    bootparams: nisplus [NOTFOUND=return] files

    ethers: files

    netmasks: files

    networks: files

    protocols: files

    rpc: files

    services: files

    netgroup: files

    publickey: nisplus

    automount: files

    aliases: files nisplus

  3. editare il file /etc/pam.d/system-auth-ac

    auth required pam_env.so

    auth sufficient pam_unix.so nullok try_first_pass

    auth requisite pam_succeed_if.so uid >= 500 quiet

    auth sufficient pam_winbind.so use_first_pass

    auth required pam_deny.so

    account required pam_unix.so broken_shadow

    account sufficient pam_localuser.so

    account sufficient pam_succeed_if.so uid < 500 quiet

    account [default=bad success=ok user_unknown=ignore] pam_winbind.so

    account required pam_permit.so

    password requisite pam_cracklib.so try_first_pass retry=3 type=

    password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok

    password sufficient pam_winbind.so use_authtok

    password required pam_deny.so

    session optional pam_keyinit.so revoke

    session required pam_limits.so

    session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid

    session required pam_unix.so

  4. editiamo il file/etc/pam.d/passwd

    auth include system-auth

    account include system-auth

    password substack system-auth

    -password optional pam_gnome_keyring.so

  5. editiamo il file /etc/pam.d/password-auth-ac

    auth required pam_env.so

    auth sufficient pam_unix.so nullok try_first_pass

    auth requisite pam_succeed_if.so uid >= 500 quiet

    auth sufficient pam_winbind.so use_first_pass

    auth required pam_deny.so

    account required pam_unix.so broken_shadow

    account sufficient pam_localuser.so

    account sufficient pam_succeed_if.so uid < 500 quiet

    account [default=bad success=ok user_unknown=ignore] pam_winbind.so

    account required pam_permit.so

    password requisite pam_cracklib.so try_first_pass retry=3 type=

    password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok

    password sufficient pam_winbind.so use_authtok

    password required pam_deny.so

    session optional pam_keyinit.so revoke

    session required pam_limits.so

    session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid

    session required pam_unix.so

A questo punto è possibile loggarsi sulla nostra macchina Linux con un utente presente sul dominio, ma non presente sul nostro server.


 

NOTA: tutte le configurazioni sopre riportate possono essere fatte automaticamente tramite l’utility testuale:
authconfig-tui
o tramite l’utility grafica:

system-config-authentication

Personalmente sconsiglio l’uso di questi tool per l’operazione di join se non si è sicuri dei parametri del dominio o se, dopo il tentativo di join, i test danno risultato negativo. Questi due programmi mascherano i messaggi di output dell’operazione di join. Se c’è qualcosa di sbagliato ed il join non può essere completato con successo i messaggi di output notificano subito questa situazione e danno precise indicazione su dove si trovano gli errori.

3.2. Troubleshooting

Ci sono molti potenziali problemi in cui si potrebbe incappare. La questione è molto variegata soprattutto in riferimento alla nostra specifica configurazione. Qui di seguito do qualche dritta semplicemente per verificare il join (requisito NECESSARIO per far funzionare l’autenticazione SSO), gli utenti e gruppi del dominio Windows e sull’errore della home al login con un utente del dominio.

  1. Abbiamo fatto il join, ma non siamo sicuri che sia riuscito. Per testare la validità del join da utente root dare l’istruzione

    net ads jointest

    Se otteniamo una risposta d’errore e ripetiamo il join potrebbe essere necessario che l’amministratore del dominio Windows rimuova la nostra macchina Linux dal dominio.

  2. Per verificare l’appartenenza al dominio e per usare gli utenti ed i gruppi del dominio Windows possiamo usare getent. Se non specifichiamo un nome utente o un nome gruppo ci restituisce la lista completa degli utenti e dei gruppi disponibili. Rimando alla documentazione di SAMBA, per l’istruzione “net”, per manipolazioni avanzate come il caching degli utenti/gruppi in locale.

    getent passwd

    getent group

    getent passwd utente.dominio

    getent group gruppo.dominio

  3. Completato con successo il join e la configurazione dell’SSO potremmo trovarci con un errore come il seguente dopo aver fatto il login con un utente del dominio Windows:

    Could not chdir to home directory /home/DOMIT/stefano.bortolato: No such file or directory

    Questo significa che non esiste la directory dell’utente. Bisogna procedere per configurare SAMBA e Linux che crei automaticamente la home degli utenti e, manualmente, creare la directory del gruppo Windows. Nel caso di questa guida si tratta di creare /home/DOMIT.

    Per il come fare rimando alla documentazione di SAMBA (www.samba.org) e di RedHat (www.redhat.com).

4. Usare condivisioni esposte da Windows server 2K3/2K8

Una volta completato il join al dominio è possibile usare i dischi condivisi dal server Windows.

4.1. Montaggio manuale temporaneo

Per montare manualmente un disco condiviso dal server è sufficiente:

  1. loggarsi al server Linux come utente root o diventare l’utente root tramite il comando “su -”

  2. dare il comando

    mount -t cifs //win1.dom.it/testsharing /mnt -o rw,nosuid,nodev,user=nome.utente,domain=DOM.IT

Con questa istruzione verrà chiesta la password dell’utente.

4.2. Montaggio permanente

Per rendere persistenti le impostazioni del mount e rendere automatico l’operazione dobbiamo:

  1. loggarsi a linux come utente root o diventare root tramite il comando “su -”

  2. creare il file /etc/samba/credentials (nota: sostituire "nome.utente" w "password" con nomi e password reali!):

    user=nome.utente

    pass=password

    domain=DOM.IT

  3. cambiare i permessi al file

    chmod 600 /etc/samba/credentials

  4. editare il file /etc/fstab e aggiungere la seguente riga

    //win1.dom.it/testsharing /mnt cifs rw,nosuid,nodev,credentials=/etc/samba/credentials 0 0

A questo punto per montare subito il disco dare l’istruzione:

mount /mnt

Successivamente ad ogni reboot ci ritroveremo il disco automaticamente montato.

4.3. Troubleshooting

  1. È possibile che a un tentativo di montaggio di un disco ci venga restituito il seguente errore:

    mount error(13): Permission denied

    Il significato è chiaro, ma le cause possono essere molteplici. Per individuare l’errore è utile adottare le seguenti pratiche:

    1. verificare, lato server Windows, i log. Potrebbe essere scritta la causa, ma in alcune situazioni non viene tracciato nulla

    2. se abbiamo dato il comando manualmente verificare la correttezza sintattica di mount, in particolare:

      aver messo una corretta username, password e dominio

      aver usato le virgole (,) come separatori dopo il “- o” e non gli spazi ( )

      aver scritto correttamente il nome della condivisione Windows

      che la condivisione Windows sia effettivamente accessibile per l’utente ed il computer da cui facciamo la richiesta

    3. che il join precedentemente fatto del computer da cui facciamo la richiesta di montaggio sia effettivamente valido (usare, come root, il comando “net ads jointest”).

5. Conclusione

Questa guida in miniatura spiega cosa fare riportando i comandi da dare al computer senza alcuna spiegazione tecnica.

L'argomento affrontato è una configurazione avanzata, articolata e complessa. Offre delle grandi opportunità ed è estremamente flessibile.

Tutto ciò significa:

  • è consigliabile avere esperienza

  • è opportuno studiare le varie tecnologie coinvolte

  • è possibile che l'applicazione fedele di queste indicazioni diano risultati fallimentari.

La complessità e varietà delle situazioni reali non permette una esposizione esaustiva in poche pagine e, soprattutto, realizzate con questo stile cookbook.

Avventurarsi seguendo questa guida, comunque, non è da sconsiderati, basta agire con prudenza. In caso di successo è buono, a fine lavoro, approfondire la conoscenza su questa tecnologia. In caso di fallimento si sa che serve un supplemento di indagine sul server/rete Windows e/o un approfondimento tecnico sulle tecnologie coinvolte.

6. Appendici

Riporto due articoli della knowledge di Red Hat che illustrano parte delle procedure sopra descritte. Essendo nella parte del sito accessibile dietro autenticazione li riporto per esteso qui di seguito.

6.1. How to join Red Hat Enterprise Linux 6 to Microsoft Windows Active Directory 2003 domain using Kerberos and samba/winbind method ?

Da: https://access.redhat.com/knowledge/solutions/67432

Ultima modifica di Nirupama Karandikar il 05/07/12 - 06:44

Problema

  • How to join Red Hat Enterprise Linux 5 to Microsoft Windows Active  Directory 2003 domain using Kerberos and samba/winbind method ?

Ambiente

  • Red Hat Enterprise Linux 6

  • Microsoft Windows Active Directory 2003

  • samba-client- 3.5.10-114.el6 

  • samba-common-3.5.10-114.el6

  • samba-winbind-3.5.10-114.el6

  • samba-winbind-clients-3.5.10-114.el6

  • samba-winbind-krb5-locator-3.5.10-114.el6

  • pam_krb5-2.3.11-1.el6.x86_64

  • krb5-libs-1.9-9.el6_1.2.x86_64krb5-workstation-1.9-9.el6_1.2.x86_64

Risoluzione

Here are steps to join RHEL 6 system to Microsoft Windows Active  Directory 2003 native domain, including home directory integration. This  document was written specifically for Microsoft Windows 2003 AD domin.  Authentication against Windows 2003 R2 /2008/2008 R2 requires different  configuration.

1. Need to install 'Services For UNIX'   component in Microsoft Windows AD 2003 in case "imap backend = ad" is  used in smb.conf file. For all other idmap backend this is step is  optional.

2. To configure kerberos for AD 2003 authentication. Here is sample configuration to /etc/krb5.conf file :

# cat /etc/krb5.conf

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
ticket_lifetime = 24000
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false

[realms]
EXAMPLE.COM = {
kdc = server1.example.com
default_domain = example.directory
}

[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
     debug = false
     ticket_lifetime = 36000
     renew_lifetime = 36000
     forwardable = true
     krb4_convert = false
}

Where  example.com is Microsoft Windows Active Directory Domain name and and  server1.example.com is FQDN of Windows 2003 AD Domain Controller.

3. Here is the sample configuration to configure smb.conf for Microsoft Windows AD 2003 Authentication using samba/winbind.

[global]
security = ADS
workgroup = EXAMPLE.COM
realm = EXAMPLE.COM
password server = server1.example.com

Because  this document is tailored specifically for Windows 2003 AD services, it  will be necessary to also include the following two lines in the  [global] section of the smb.conf file:

client use spnego = yes
server signing = auto
server string = Samba Server

In  addition to the above, the following additional options may also be  included. The first three references to winbind entries enable getent on  the Samba server to provide the correct responses when called. If  desired, idmap entries can also be included in order to specify user and  group IDs for AD accounts. Finally, below specified /bin/bash as the  template shell for AD users. If users do not require a shell access  specify /bin/false as the template shell for AD users .

 winbind enum users = yes
 winbind enum groups = yes
 winbind use default domain = yes
 winbind separator = +
 template shell = /bin/bash

For idmap tdb backend

idmap backend = tdb
idmap uid = 1000000-1999999
idmap gid = 1000000-1999999

For idmap AD backend

idmap config CORP : backend  = ad
idmap config CORP : range = 1000-999999

Where 'CORP' is AD domain short name.

For Windows 2003 R2, Windows 2008 and Windows 2008 R2 above add following parameters in smb.conf file. The Windows 2003 R2 uses Identity Management for UNIX Components instead of SFU.

idmap config CORP : schema_mode = rfc2307
winbind nss info = rfc2307

It is also necessary to include winbind as options within the passwd, shadow and group lines within /etc/nsswitch.conf:

passwd:     files winbind
shadow:     files winbind
group:      files winbind

4.  Running "authconfig-tui"command line utility will do all above  configuration automatcially, including proper PAM configuratiom in  /etc/pam.d/system-auth file. For example :

# authconfig-tui

Under  "User Information" section select "Use Winbind" and under  "Authentication" section Select "Use Kerberos Authentication" =>  Click Next.

Click Next and specify Kerberos Settings

REALM:
KDC: 
Admin Server: 

Click on "Use DNS to resolve hosts to realms" and "Use DNS to locate KDCs for realms" if you want DNS server to
resolve the AD server and locate the appropriate kdc server

For example :

Realm: EXAMPLE.COM
KDC: server1.example.com:88
Admin Server: server1.example.com:749
[ ] Use DNS to resolve hosts to realms     
[ ] Use DNS to locate KDCs for realms

Under Winbind Settings, specify Microsoft Windows Active Directory Domian Controller information, for example :

Security Model: ads
Domain: example
Domain Controller: server1.example.com
ADS Realm : EXAMPLE.COM
Template Shell: /bin/bash

Click ok. Do not use "Join Domain" button from authconfig-tui utility.

5.  The kerberos is a time sensitive protocol. As kerberos is used for authentication here.

Before  joining the domain, please ensure that system time between the AD  server and the RHEL 5 server are synchronised. If the AD server is  running as an NTP server, set up NTP to point at the DC. One method  would be by using the redhat-config-date GUI:

system-config-date

check  the synchronisation has worked with the following command on the RHEL 5 server. Note the asterix at the start of the bottom line of the file. This denotes that the syncronisation is complete:

[root@dhcp-103 samba]# ntpq -c peers
remote           refid      st t when poll reach   delay   offset  jitter
    ==================================================
*dhcp-107.winlab 86.77.84.80      2 u  108  512  377    2.834   -7.901  12.137

6. If smb and winbind are currently running, stop both services before proceeding:

# service smb stop
# service winbind stop
  1. Run following command to join RHEL 5 system to Microsoft Windows AD  domain. To use an account other than Administrator, ensure that the user  has the appropriate permissions to join systems to the domain.

# net ads join -U Administrator

8. Configuring Home Directories:

Home  directory configuration needs to be defined within /etc/samba/smb.conf.  In the example below, we have used '%D+%S' for valid user definition.  If this syntax is to be employed, ensure that the 'winbind separator =  +' line is included in the [global] section (see above). %D defines  'domain' and %S defines 'share'.

[homes]
	comment = AD User Home Directories
	browseable = no
	writable = yes
	valid users = %D+%S

9. It is also necessary to create the top level directory in which each of  the AD user's home directories will be mounted. In our example, that  would be as follows.

# mkdir /home/EXAMPLE

so an AD user 'test' would have the following home directory:

/home/EXAMPLE/test

10. Here is sample /etc/pam.d/system-auth file.

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam\_env.so
auth        sufficient    pam\_unix.so nullok try\_first\_pass
auth        requisite     pam\_succeed\_if.so uid >= 500 quiet
auth        sufficient    pam\_krb5.so use\_first\_pass
auth        required      pam\_deny.so
account     required      pam\_unix.so broken\_shadow
account     sufficient    pam\_succeed\_if.so uid < 500 quiet
account     [default=bad success=ok user\_unknown=ignore] pam\_krb5.so
account     required      pam\_permit.so
password    requisite     pam\_cracklib.so try\_first\_pass retry=3
password    sufficient    pam\_unix.so md5 shadow nullok try\_first\_pass use\_authtok
password    sufficient    pam\_krb5.so use\_authtok
password    required      pam\_deny.so
session     optional      pam\_keyinit.so revoke
session     required      pam\_limits.so
session     optional      pam\_mkhomedir.so
session     [success=1 default=ignore] pam\_succeed\_if.so service in crond quiet use\_uid
session     required      pam\_unix.so
session     optional      pam\_krb5.so

11. Now from RHEL 5 system. Check output following commands and see whether AD users/groups are listed their.

# wbinfo -u 
# wbinfo -g
# getent passwd
# getent group

12. Try to login with any AD user credentials from this RHEL 6 system.

Prodotto(s)

Red Hat Enterprise Linux

Componente

krb5

samba

6.2. Join RHEL 6 with Active Directory 2003 R2 Using Winbind

Da: https://access.redhat.com/knowledge/solutions/43065

Ultima modifica di Himanshu Bansal il 07/03/12 - 16:39

Problema

  • Join Red Hat Enterprise Linux to Active Directory 2003 R2 Using Winbind.

Ambiente

  • Red Hat Enterprise Linux 5/6

  • Windows 2003 R2 (SP2) with active directory configured

Risoluzione

  • In order to join Red Hat Enterprise Linux 6 with active directory, install following packages in your system:

    # yum install libtdb samba-client samba-common samba-winbind samba-winbind-clients

  • After installing above packages, execute following steps:

    1. Modify /etc/samba/smb.conf -

      [global]
      workgroup =
      realm =
      log level = 2
      syslog = 0
      preferred master = no
      server string = Linux Test Machine
      security = ads
      encrypt passwords = yes
      log file = /var/log/samba/%m
      max log size = 50
      printcap name = cups
      printing = cups
      winbind enum users = Yes
      winbind enum groups = Yes
      winbind use default domain = yes
      winbind nested groups = Yes
      idmap uid = 600-20000
      idmap gid = 600-20000
      template shell = /bin/bash
      password server =
    2. Join to domain

      # net ads join -U Administrator
    3. Start winbind

      # service winbind start
    4. Verify

      # wbinfo -t
      checks whether the trust secret via RPC calls succeeded
      
      # wbinfo -u (will list AD users)
      # wbinfo -g (will list AD groups)
    5. Run "authconfig-tui" and select Winbind for "User Information" and "Authentication".

    6. Click on "Next" and check all the entries and then click on "OK".

    7. You can see AD users and groups with these commands -

# getent passwd test
test::600:602:test:/home/PNQ/kery:/bin/bash

# id test
uid=600(test) gid=602(domain users)
groups=602(domain users),603(group1)

# getent group "domain users"
domain users::602:

 

Prodotto(s)

Red Hat Enterprise Linux

Componente

samba

6.3. Risorse utili

Segnalo dei link che possono essere utili per trovare risposte immediate a problemi topici e una guida che offre un’ottima descrizione a 360° sulla questione di integrazione di sistemi basati su SAMBA con il mondo Windows Active Directory:

www.samba.org, Samba - opening windows to a wider world

www.redhat.com, Red Hat | The World's Open Source Leader

docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-Configuring_Authentication.html, Chapter 10. Configuring Authentication

www.linuxtopia.org/online_books/rhel6/rhel_6_deployment/rhel_6_deployment_ch-Authentication_Configuration.html, Chapter 8. Authentication Configuration

www.gpaterno.com/pubblicazioni/single-sign-on-con-kerberos-e-ldap, Single Sign-On con Kerberos e LDAP

Pubblicato in Informatica

Questa guida spiega come procedere per bloccare la luminosità dello schermo e della tastiera nei sistemi Mac Book PRO 8.3 equipaggiati con Linux e Gnome come desktop grafico.

Infatti le distribuzioni non prevedono di serie un registrazione dei settaggi della retroilluminazione dello schermo e della tastiera. Pertanto ad ogni riavvio la retroilluminazione è sempre al massimo.

La presente guida presenta una soluzione collaudata su un sistema Ubuntu 12.04.

Pubblicato in Informatica

Questo sito utilizza cookie, anche di terze parti, per migliorare la tua esperienza e offrire servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie vai alla sezione Cookie Policy.