Si vous rencontrez des erreurs d’accès a certains fichier, il suffit de lancer powershell « en tant qu’administrateur ».
Étiquette : windows
Pour utiliser la commande check_nrpe du serveur Centreon sur un poste Windows, nous devons installer NSCLIENT++ avec la configuration op5.
On lance l’installation sur l’hôte Windows à monitorer
On va donc choisir « op5 » à la place de « Generic », puis on clique sur « Next »
On choisit « Complete » puis on clique sur « Next »
On clique sur « Next »
On autorise l’adresse ip du serveur Centreon, puis on clique sur « Next »
On clique sur « Install »
On clique sur « FInish »
Une fois terminée, la commande check_nrpe du serveur Centreon marchera sur le client Windows.
On peut le vérifier avec cette commande:
/usr/local/nagios/libexec/check_nrpe -H 192.168.122.174
I (0.5.0.62 2016-09-14) seem to be doing fine...
Il faudra toutefois adapter la commande qui sera lancée par check_nrpe pour qu’elle soit « Windows friendly« .
/usr/local/nagios/libexec/check_nrpe -H 192.198.122.174 -c Check_OS_Version -a 'perf-config=*(ignored:true)'
OK: Windows Server 2016 Technical Preview (10.0.14393)
Pour un hôte Linux
Vérifier où sont situé vos scripts dans nrpe.cfg ( /usr/lib/… ou /usr/lib64/…).
Vérifier l’espace disque de /data:
/usr/lib64/nagios/plugins/check_disk -w 10% -c 5% -p /data
Vérifier l’état d’un volume Raid:
/usr/lib/nagios/plugins/check_raid.pl -p mdstat
Vérifier la date de modification du fichier /ftp/texte.txt :
/usr/lib64/nagios/plugins/check_file_age -w 86400 -c 129600 -f /ftp/texte.txt
1 heure = 3600 secondes
24 heures = 86400 secondes
36 heures = 129600 secondes
7 jours = 604800 secondes
30 jours = 2592000 secondes
6 mois = 15379200 secondes
Vérification de processus:
/usr/lib64/nagios/plugins/check_procs -w 80 -c 95 -m CPU -C httpd
/usr/lib64/nagios/plugins/check_procs -w 1:512 -c 1:1024 -C smbd
/usr/lib64/nagios/plugins/check_procs -c 1:1 -C nmbd
-w 1:512 correspond à Warning si le nombre de processus n’est pas entre 1 et 512.
-c 1:1024 correspond à Critical si le nombre de processus n’est pas entre 512 et 1024.
-c 1:1 correspond à Critical sil n’y a pas 1 processus (au min et au max).
Surveillance de la Swap:
/usr/lib64/nagios/plugins/check_swap -w 80% -c 40%
APT:
/usr/lib64/nagios/plugins/check_apt
-u = fait un apt-get update avant le lancer le script (lancé par l’utilisateur nagios).
-t 120 = timout de 120 sec (le temps de faire un apt-get update).
Mysql:
/usr/lib64/nagios/plugins/check_mysql -uworkey -pworkey
File d’attente des courriels:
/usr/lib64/nagios/plugins/check_mailq -w 40 -c 50
Pour un hôte Windows
Charge CPU
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c CheckCPU -a warn=80 crit=90 time=1m time=5m time=15m
% CPU utilisé
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:% Processor Used Total=\Processor(_Total)\% Processor Time' 'warning=value>80' 'critical=value>90' 'perf-config=*(suffix:none)'
% CPU Libre
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:% Processor Free Total=\Processor(_Total)\% Idle Time' 'warning=value<20' 'critical=value<10' 'perf-config=*(suffix:none)'
RAM utilisée en Mo
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=used>1536M' 'critical=used>1792M'
RAM utilisée en %
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=used>80%' 'critical=used>90%'
RAM libre en Mo
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=free<512M' 'critical=free<256M'
RAM libre en %
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Memory -a show-all type=physical 'warning=free<20%' 'critical=free<10%'
Performance disque Lecture en % de C:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: % Read Time=\LogicalDisk(C:)\% Disk Read Time' 'warning=value>50' 'critical=value>75' 'perf-config=*(suffix:none)'
Performance disque Lecture en Bits/Sec de C:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Read Bytes/sec=\LogicalDisk(C:)\Disk Read Bytes/sec' 'warning=value>100' 'critical=value>500' 'perf-config=*(suffix:none)'
Performance disque écriture en % de C:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: % Write Time=\LogicalDisk(C:)\% Disk Write Time' 'warning=value>50' 'critical=value>75' 'perf-config=*(suffix:none)'
Performance disque écriture en Bits/Sec de C:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Write Bytes/sec=\LogicalDisk(C:)\Disk Write Bytes/sec' 'warning=value>100' 'critical=value>500' 'perf-config=*(suffix:none)'
File d’attente IO sur C:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Queue Length=\LogicalDisk(C:)\Current Disk Queue Length' 'warning=value>10' 'critical=value>20' 'perf-config=*(suffix:none)'
Nombre d’IO par Seconde sur C:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:C: Split IO/sec=\LogicalDisk(C:)\Split IO/sec' 'warning=value>10' 'critical=value>20' 'perf-config=*(suffix:none)'
Espace libre en Go sur C:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace libre en % sur C:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace libre en Go sur tous les disques
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace libre en % sur tous les disques
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace libre en Go sur tous les disques sauf disquette et CDROM
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace libre en % sur tous les disques sauf disquette et CDROM
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace libre en Go sur tous les disques sauf E:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a exclude='E:\' 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'
(pour deux disques: exclude=’E:\’ exclude=’P:\’)
Espace libre en Go sur tous les disques sauf disquette, CDROM et E:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' exclude='E:\' 'warning=free<10G' 'critical=free<5G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free} free / ${size} total}' top-syntax='${status}: ${problem_list}'
(pour deux disque=> exclude=’E:\’ exclude=’P:\’)
Espace libre en % sur tous les disques sauf E:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a exclude='E:\' 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'
(pour deux disque=> exclude=’E:\’ exclude=’P:\’)
Espace libre en % sur tous les disques sauf disquette, CDROM et E:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a exclude='E:\' "filter=type in ('fixed')" exclude='System Reserved' 'warning=free<20%' 'critical=free<10%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${free_pct}% free / ${size} total}' top-syntax='${status}: ${problem_list}'
(pour deux disque=> exclude=’E:\’ exclude=’P:\’)
Espace utilisé en Go sur C:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=used>50G' 'critical=used>100G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used} used / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace utilisé en % sur C:\
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a drive=C: 'warning=used>80%' 'critical=used>90%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used_pct}% used / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace utilisé en Go sur tous les disques
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=used>50G' 'critical=used>100G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used} used / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace utilisé en Go sur tous les disques sauf disquette et cdrom
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=used>50G' 'critical=used>100G' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used} used / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace utilisé en % sur tous les disques
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a 'warning=used>80%' 'critical=used>90%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used_pct}% used / ${size} total}' top-syntax='${status}: ${problem_list}'
Espace utilisé en % sur tous les disques sauf disquette et cdrom
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_drivesize -a "filter=type in ('fixed')" exclude='System Reserved' 'warning=used>80%' 'critical=used>90%' show-all 'perf-config=*(unit:G)' detail-syntax='{${drive_or_name} ${used_pct}% used / ${size} total}' top-syntax='${status}: ${problem_list}'
Nombre de fichier dans C:\Repertoire
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\Repertoire' pattern=*.* 'warning=count>500' 'critical=count>1000' top-syntax='${status}: ${problem_count}/${count} files' 'empty-state=ok'
Vérifie si au moins un fichier à une taille supérieure à 500Mo dans C:\, critique si oui
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\' pattern=*.* 'filter=size gt 500M' 'critical=count>0' 'detail-syntax=%(filename): %(size)' 'empty-state=ok'
Vérifie la présence du fichier C:\test (il ne doit pas être vide)
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\' pattern='test*' max-depth=1 'critical=count<1' 'empty-state=critical'
Vérifier la présence du répertoire C:\Users
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_files -a file="c:\\" "max-depth=2" "filter=filename='Users'" "critical=count<1" "empty-state=CRITICAL" "empty-syntax=CRITICAL - Cannot find folder Users"
Vérifie que les fichiers dans C:\Repertoire ont été modifié depuis moins de deux heures
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_files -a path='C:\\Repertoire' pattern=*.* 'filter=written > -2h' 'critical=count<1' 'empty-state=critical'
Vérifie que les fichiers dans C:\Repertoire ont été modifié depuis plus de deux heures
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_files -a path='C:\\Repertoire' pattern=*.* 'filter=written < -2h' 'critical=count>0' top-syntax='${status}: ${problem_count}/${count} files' 'empty-state=ok'
Particularité « path= » et « pattern= »:
Si vous vouliez seulement spécifier un fichier:
path='C:\\test.txt'
Mais si il est possible que le fichier n’existe pas, on utilisera alors « pattern= ».
path='C:\\' pattern='test.txt'
Surveillance de la carte réseau en Bits reçu par sec
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Bytes Received/sec=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Received/Sec' 'warning=value>786432000' 'critical=value>943718400' 'perf-config=*(suffix:none)'
Surveillance de la carte réseau en Bits envoyé par sec
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Bytes Sent/sec=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Bytes Sent/Sec' 'warning=value>786432000' 'critical=value>943718400' 'perf-config=*(suffix:none)'
Nombre de paquet envoyé en erreur par la carte réseau
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Outbound Errors=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Outbound Errors' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'
Nombre de paquet reçu en erreur par la carte réseau
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Received Errors=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Received Errors' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'
Nombre de paquet envoyé en erreur par la carte réseau et jeté (discarded)
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Outbound Discarded=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Outbound Discarded' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'
Nombre de paquet reçu en erreur par la carte réseau et jeté (discarded)
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c check_pdh -a 'counter:Packets Received Discarded=\Network Interface(Intel[R] PRO_1000 MT Network Connection)\Packets Received Discarded' 'warning=value>0' 'critical=value>0' 'perf-config=*(suffix:none)'
Version Windows de l’OS
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c Check_OS_Version -a 'perf-config=*(ignored:true)'
File d’attente de l’imprimante « Microsoft XPS Document Writer »
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -c CheckCounter -a 'Counter:XPS Document Writer=\Print Queue(Microsoft XPS Document Writer)\Jobs' MaxWarn=5 MaxCrit=15 ShowAll
Uptime, critique si plus d’un jour
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c Check_Uptime -a show-all 'warning=uptime>1d' 'critical=uptime>1d'
Uptime, critique si moins d’un jour
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c CheckUpTime -a MinCrit=1d
Surveillance de l’activité du service Spooler, critique si il n’est pas démarré
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service -a 'service=spooler'
Surveillance de l’arrêt du service Spooler, critique si il est démarré
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service -a 'service=spooler' "ok= state = 'stopped'" "warning=not state = 'stopped'" "critical=not state = 'stopped'" "perf-config=*(ignored:true)"
Vérifie si tous les services activés au demarrage sont bien démarré
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service
Vérifie si les services activé au demarrage sont bien démarré, sauf le service spooler
/usr/local/nagios/libexec/check_nrpe -H 10.148.14.212 -t 30 -c check_service -a exclude=Spooler
NSCLIENT++ est un agent de supervision pour toutes versions de Windows.
1) Installation
On peut récupérer le fichier d’installation à cette adresse.
L’installation de NSClient++ n’est pas très compliqué. Il suffit de valider par le bouton « Next » chacun des écrans présentés. Le logiciel est installé par défaut dans le répertoire C:\Program Files\NSClient++\. Il contient l’exécutable, le répertoire des extensions et le fichier de configuration nsclient.ini.
On lance l’exécutable puis on clic sur « Next » pour commencer l’installation:
On clic sur « Next« :
On sélectionne « Complete« , puis « Next« :
On clic sur « Next« :
On autorise ici l’adresse IP du serveur Centreon (192.168.122.58) et on lui créé un mot de passe pour se connecter. On active également ici le plugin check_nt (j’aborderai NRPE dans un autre article). Puis on fait « Next« :
On clic sur « Install« :
L’installation est maintenant terminé, cliquer sur « Finish« :
Depuis le serveur Centreon, on peut vérifier que notre poste Windows (192.168.122.74) à NSCLIENT++ de bien configuré et qu’il nous répond bien par son numéro de version:
/usr/lib/nagios/plugins/check_nt -H 192.168.122.74 -v CLIENTVERSION -p 12489 -s toto
NSClient++ 0.5.0.62 2016-09-14
2) Configuration de l’hôte
Si tout va bien on retourne sur Centreon pour ajouter notre serveur Windows:
3) Configuration des services
On va maintenant associer notre serveur à des services basés sur check_nt:
CPU:
Si la variable « params » contient « 1,90,95,5,90,95,15,90,95 » comme valeur, elle aura un résultat similaire à:
CPU Load x% (1 min average) x% (5 min average) x% (15 min average)
Si la variable « params » contient « 60,90,95,120,90,95 » comme valeur, elle aura un résultat similaire à:
CPU Load x% (60 min average) x% (120 min average)
Mémoire:
Espace disque:
La variable « params » contient « c » qui correspond ici à la lettre du disque sur le client, « C: ».
Uptime:
La variable « params » contient l’unité de temps qui est soit "seconds"
, "minutes"
, "hours"
, ou "days"
.
Un processus, (ici OneDrive.exe):
Vous pouvez déclarer plusieurs processus dans la variable « params« , en les séparant d’une virgule:
<process1>,<process2>,<process3>
Un service (ici Windows Update):
Vous pouvez déclarer plusieurs services dans la variable « params« , en les séparant d’une virgule:
<service1>,<service2>,<service3>
Pensez à déclarer le serveur dés le début dans l’AD pour éviter de patienter durant la réplication!
Avec pour domaine starmate.fr, en contrôleur primaire DC001 (192.168.2.10) et en contrôleur secondaire DC002 (192.168.2.11).
1 – Prérequis
Synchroniser l’heure avec l’adresse ip du contrôleur de domaine (ici DC001):
ntpdate 192.168.2.10
Installation de Samba, Winbind et Kerberos:
yum install samba samba-winbind samba-winbind-clients krb5-workstation krb5-libs oddjob-mkhomedir oddjob
2 – Configuration
Configuration de Kerberos:
vi /etc/krb5.conf
Et on y mets uniquement ça:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = FR.STARMATE.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes
[realms]
FR.STARMATE.LOCAL = {
kdc = DC001
kdc = DC002
admin_server = DC001.fr.starmate.local
admin_server = DC002.fr.starmate.local
default_domain = FR.STARMATE.LOCAL
}
[domain_realm]
.fr.starmate.local = FR.STARMATE.LOCAL
fr.starmate.local = FR.STARMATE.LOCAL
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
On peut tester nos paramètres avec un compte administrateur du domaine (ici admindevops):
kinit admindevops
Configuration de Samba:
vi /etc/samba/smb.conf
Et on y mets uniquement ça (à adapter suivant votre configuration):
[global]
workgroup = STARMATE-FR
interfaces = 127.0.0.1 eth0
bind interfaces only = true
security = ads
passdb backend = tdbsam
template shell = /bin/bash
template homedir = /home/%D/%U
realm = FR.STARMATE.LOCAL
password server = DC001.fr.starmate.local, DC002.fr.starmate.local
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
winbind refresh tickets = yes
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
printing = cups
printcap name = cups
load printers = no
3 – Jonction au domaine
Toujours avec notre compte administrateur (ici admindevops) sur le domaine, on va maintenant rejoindre le domaine avec notre serveur:
net join -U admindevops
Pour vérifier que l’on a bien rejoint le domaine:
net ads testjoin
N.B : la jonction au domaine n’est pas instantanée et peut durer quelques minutes.
4 – Authentification avec l’AD
Configuration de Winbind:
authconfig --enablewinbind --enablemd5 --enableshadow --enablewinbindauth --enablelocauthorize --enablemkhomedir --update
On modifie la configuration de PAM:
vi /etc/pam.d/system-auth
Et on y mets uniquement ça (à adapter suivant votre configuration):
#%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_winbind.so krb5_auth krb5_ccache_type=FILE 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
password sufficient pam_unix.so md5 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
session required pam_mkhomedir.so skel=/etc/skel umask=0077
#session required pam_oddjob_mkhomedir.so skel=/etc/skel umask=0077 => Decommentez si votre serveur est un RHEL7 ou Centos 6-7
Activation des services:
service smb start
service winbind start
service oddjobd start
Afficher la liste des groupes d’Active Directory :
sudo wbinfo -g
Afficher la liste des utilisateurs d’Active Directory :
sudo wbinfo -u
Création du répertoire d’accueil des ~/home et activation du démarrage de winbind, samba et oddjob:
mkdir /home/STARMATE-FR
chcon --reference=/home /home/STARMATE-FR
chkconfig smb on
chkconfig winbind on
chkconfig oddjobd on
Vous devriez maintenant pouvoir vous connecter avec un compte du domaine AD 2012.
5 – Limitation d’accès
Pour filtrer les utilisateurs qui se connecte sur le serveur par groupe, il faut modifier le fichier /etc/security/pam_winbind.conf et ajouter les groupes désirés (ici le groupe « groupe_des_admins »):
vi /etc/security/pam_winbind.conf
Puis on ajoute/modifie le paramètre suivant:
require_membership_of = groupe_des_admins
Pour déclarer plusieurs groupes, il faut faire une séparation avec une virgule.
Puis, si on veut donner le droit à la commande sudo à ce groupe:
visudo
et on y ajoute cette ligne:
%groupe_des_admins ALL=(ALL) ALL