Catégorie : Ligne de commande

4 avril 2016 /

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

 

21 mars 2016 /

Dans le fichier de votre répertoire personnel ~/.mailrc (à créer si il n’existe pas), on peut définir des alias pour les adresses fréquemment utilisées par mail et mailx.

Définition d’un alias:

vi /home/starmate/.mailrc

On y place ces lignes à la fin:

alias jb jean.bart@dunkerque.fr
alias equipe jean.bart@dunkerque.fr duguesclin@dinan.fr

Maintenant pour utiliser l’alias, c’est très simple:

echo "Contenu du message" | mail -s "sujet" jb

ou

echo "Contenu du message" | mailx -s "Sujet" equipe

16 mars 2016 /

Pour autoriser le serveur 192.168.0.21 à ce connecter sur le serveur Mysql, on se connecte dessus:

mysql -u root -p

Puis dans l’invite Mysql  (mysql>):

GRANT ALL PRIVILEGES ON *.* TO root@'192.168.0.21' WITH GRANT OPTION;

16 mars 2016 /

Petit mémo pour intégrer un fichier .sql dans une base de données mysql.

On commence par ce connecter sur la base mysql:

mysql -u root -p

Puis dans l’invite de commande mysql (mysql>):

source /chemin/fichier.sql

ou alors la même chose sur une seule ligne:

mysql < /chemin/fichier.sql -u root-p

15 mars 2016 /

MariaDB est un système de gestion de base de données édité sous licence GPL. Il s’agit d’un fork communautaire de MySQL : la gouvernance du projet est assurée par la fondation MariaDB2, et sa maintenance par la société Monty Program AB, créateur du projet3. Cette gouvernance confère au logiciel l’assurance de rester libre.

Si MySQL est déjà installé sur votre système, il faudra le désinstaller:

rpm -qa | grep mysql
yum remove mysql-libs-5.1.73-5.el6_6.x86_64 mysql-server-5.1.73-5.el6_6.x86_64 mysql-devel-5.1.73-5.el6_6.x86_64 mysql-5.1.73-5.el6_6.x86_64

Il faut maintenant créer le fichier du dépôt Yum pour MariaDB:

vi /etc/yum.repos.d/MariaDB.repo

Et on y met le texte suivant:

# MariaDB 10.1 RedHat repository list - created 2016-03-15 08:48 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/rhel6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

On mets à jour la liste des paquets et on installe MariaDB:

yum update
yum install MariaDB-server MariaDB-client

On test le fonctionnement du service:

service mysql start
service mysql stop

Pour les autres dépôts, c’est ici.