Get-ChildItem C:\ -recurse | Sort-Object length -descending | select-object -first 32 | ft directory,name,length -wrap –auto
Si vous rencontrez des erreurs d’accès a certains fichier, il suffit de lancer powershell « en tant qu’administrateur ».
Get-ChildItem C:\ -recurse | Sort-Object length -descending | select-object -first 32 | ft directory,name,length -wrap –auto
Si vous rencontrez des erreurs d’accès a certains fichier, il suffit de lancer powershell « en tant qu’administrateur ».
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)
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
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.
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
Si tout va bien on retourne sur Centreon pour ajouter notre serveur Windows:

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).
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
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
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.
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.
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