Auteur/autrice : starmate

11 avril 2016 /

Pour le modifier de façon pérenne, il suffit de rajouter son chemin ici, à la suite (« : » comme séparateur):

vi /etc/environment

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

 

30 mars 2016 /

Voici une petite procédure rapide pour installer la dernière version stable de Jenkins

Prérequis => Avoir JDK Oracle d’installé

Création du dépôt pour Red Hat/Centos:

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

Création du dépôt pour Debian/Ubuntu:

wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
echo "deb https://pkg.jenkins.io/debian-stable binary/" >> /etc/apt/sources.list

Installation de la dernière version stable Red Hat/Centos:

yum update
yum install -y jenkins

Installation de la dernière version stable Debian/Ubuntu:

apt-get update
apt-get install -y jenkins

On active et démarre le service Red Hat/Centos:

chkconfig jenkins on
service jenkins start

On active et démarre le service Debian/Ubuntu:

systemctl enable jenkins
systemctl start jenkins

Fichier contenant le mot de passe provisoire de Jenkins:

cat /var/lib/jenkins/secrets/initialAdminPassword

Fichier de configuration de Jenkins:

vi /etc/sysconfig/jenkins
ou
vi /etc/default/jenkins

Fichier de log de Jenkins:

tail -f /var/log/jenkins/jenkins.log

Fichier de configuration de l’authentification Jenkins:

vi /var/lib/jenkins/config.xml

28 mars 2016 /

Prérequis: Avoir la dernière version du JDK Oracle.

Téléchargement des binaires (téléchargement anonyme désactivé, il faut donc spécifier un utilisateur):

cd /opt
wget --user-agent="starmate" http://product-dist.wso2.com/products/enterprise-service-bus/4.9.0/wso2esb-4.9.0.zip

Pour une version plus récente, c’est ici.

Décompression des binaires:

unzip wso2esb-4.9.0.zip
ln -s wso2esb-4.9.0 wso2esb

Création d’un utilisateur WSO2 :

useradd wso2
chown -R wso2 wso2esb/

Ajout de la variable JAVA_HOME à son environnement:

vi /home/wso2/.bashrc

Et on y met ça:

JAVA_HOME=/usr/java/jdk1.8.0_72
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH

Création du service:

vi /etc/init.d/wso2esb

# Processus: wso2esb
# chkconfig: 234 20 80
JAVA_HOME=/usr/java/jdk1.8.0_72
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
case $1 in
start)
su - wso2 -c 'sh /opt/wso2esb/bin/wso2server.sh --start'
;;
stop)
/opt/wso2esb/bin/wso2server.sh --stop
;;
restart)
su - wso2 -c 'sh /opt/wso2esb/bin/wso2server.sh --restart'
;;
esac
exit 0

Installation du connecteur Java (JDBC):

cd /opt/wso2esb/repository/components/lib
wget https://downloads.mariadb.com/enterprise/hp22-knpe/connectors/java/connector-java-1.3.6/mariadb-java-client-1.3.6.jar
service wso2esb restart

Test du module WSO2:

https://localhost:9443/carbon/

Emplacement des logs:

cd /opt/wso2esb/repository/logs/

28 mars 2016 /

Prérequis: Avoir la dernière version du JDK Oracle.

Téléchargement des binaires (téléchargement anonyme désactivé, il faut donc spécifier un utilisateur):

cd /opt
wget --user-agent="starmate" http://product-dist.wso2.com/products/data-services-server/3.5.0/wso2dss-3.5.0.zip

Pour une version plus récente, c’est ici.

Décompression des binaires:

unzip wso2dss-3.5.0.zip
ln -s wso2dss-3.5.0 wso2dss

Création d’un utilisateur WSO2 :

useradd wso2
chown -R wso2 wso2dss/

Ajout de la variable JAVA_HOME à son environnement:

vi /home/wso2/.bashrc

Et on y met ça:

JAVA_HOME=/usr/java/jdk1.8.0_72
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH

Création du service:

vi /etc/init.d/wso2dss

Et on y ajoute ça:

# Processus: wso2dss
# chkconfig: 234 20 80
JAVA_HOME=/usr/java/jdk1.8.0_72
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
case $1 in
start)
su - wso2 -c 'sh /opt/wso2dss/bin/wso2server.sh --start'
;;
stop)
/opt/wso2dss/bin/wso2server.sh --stop
;;
restart)
su - wso2 -c 'sh /opt/wso2dss/bin/wso2server.sh --restart'
;;
esac
exit 0

Installation du connecteur Java (JDBC):

cd /opt/wso2dss/repository/components/lib
wget https://downloads.mariadb.com/enterprise/hp22-knpe/connectors/java/connector-java-1.3.6/mariadb-java-client-1.3.6.jar
service wso2dss restart

Test du module WSO2:

https://localhost:9443/carbon/

Emplacement des logs:

cd /opt/wso2dss/repository/logs/