Publié dans GNU/Linux, Linux, Serveurs, ubuntu

Ajouter une machine Ubuntu(GNU/Linux) dans un domain Active Directory (LDAP)


Les systèmes d’exploitation GNU/Linux  n’ont pas la cote en entreprise c’est un fait,tu as beau essayé  de les défendre les gens (la majorité des DSI) préférerons utiliser  le système Windows et d’après le peu d’expérience que j’ai eu je pense que cette manque de considération est du a une désinformation. Ils te dirons toujours que Linux c’est compliqué et l’argument qui revient souvent est le manque de support en cas de problème.En entreprise on cherche toujours quelqu’un a indexer en cas de problème et malheureusement c’est pas tres viril d’indexer une communauté de bénévoles qui offrent un peu de leur temps libre.

Si jamais vous arrivez à convaincre  vos collègues sur les avantages d’avoir une ou des machines GNU/Linux l’authentification unique ou Single Sing-on en anglais ne doit pas être un frein.

Dans mon scénario on a un contrôleur de domaine avec Active Directory et on veut ajouter des machines Ubuntu dans le domaine et bénéficier des avantages de active directory .

Il existe plusieurs méthodes pour ajouter une machine Ubuntu dans AD mais sur ce tutoriel nous avons choisi de faire avec  le logiciel SSSD.Let’s setup.

Pré-requis :

  • Avoir un serveur Active Directory fonctionnel
  • Installer ubuntu 16.04
  • S’assurer que votre controller de domaine est votre  premier resolver et le mettre dans /etc/resolv.conf
  • Dans ce tuto le domaine sera base.corp et notre serveur serverdc.base.corp

Installation des logiciels

sudo apt install samba sssd krb5-user ntp ntpdate

Configuration de NTP

la premiere étape consiste à synchroniser le serveur AD avec la machine cliente.C’est important pour la bonne marche de Keberos qui présente un dysfonctionnement s’il le serveur et la machine on un décalage de plus de 5 minutes.

sudo service ntp stop
sudo ntpdate -s serverdc.base.corp
sudo service ntp start

Configuration de /etc/hosts & /etc/resolv.conf

/etc/hosts

192.168.1.20 serverdc server.base.corp

/etc/resolv.conf

nameserver 192.168.1.20
domains base.corp
dns-search base.corp

Configuration de Keberos

[libdefaults]
	default_realm = BASE.CORP
[realms]
	BASE.CORP = {
		kdc = serverdc
		admin_server=serverdc
		default_domain=BASE.CORP
	}
[domain_realm]
	.base.corp=BASE.CORP
	 base.corp = BASE.CORP

Toujours mettre en majuscule le domaine

Configuration de SSSD

Le fichier sssd.conf n’existe pas par défaut il faut donc le créer et le mettre dans /etc/sssd.


sudo touch /etc/sssd/sssd.conf
sudo chown root:root /etc/sssd/sssd.conf
sudo chmod 600 /etc/sssd/sssd.conf

Ensuite y mettre les éléments suivants.

[sssd]
services = nss, pam
config_file_version = 2
domains = BASE.CORP

[domain/BASE.CORP]
id_provider = ad
override_homedir = /home/%d/%u
access_provider = simple
simple_allow_users =  admin@snsp.corp,users@snsp.corp
simple_allow_groups = linux-admin,linux-users

Les deux dernières lignes permettent de filtrer la connexion des utilisateurs donc ici seul les 2 utilisateurs appartenant aux groupes lister pourront s’authentifier.Au cas contraire tous les utilisateurs du domaine pourront le faire.

Configuration de Samba

Editer le fichier /etc/samba/smb.conf et modifier la configuration de Workgroup

# Change this to the workgroup/NT-domain name your Samba server will part of
  # workgroup = WORKGROUP
workgroup = BASE
client signing = yes
client use spnego = yes
kerberos method = secrets and keytab
realm = BASE.CORP
security = ads

Relancer les services

sudo service smbd restart
sudo service nmbd restart
sudo service sssd restart
sudo service ntp restart

Ajouter la machine dans le domain

Il faut s’assurer qu’on a un compte qui peut ajouter dans des machines dans le domaine.le mot de passe du compte vous sera demander.

kinit adadmin

Si tout se passe bien on ajouter la machine avec cette commande

sudo net ads join -k

Si vous avez l’erreur suivant « Failed to join domain: failed to lookup DC info for domain ‘BASE.CORP’ over rpc: An internal error occurred. »
Essayer avec la commande suivante.

sudo net ads join -U admin

Maintenant aller regarder dans votre interface d’ajout de machine dans Active Directory vous y verrez la machine.

Vous pouvez maintenant utiliser ssh ou vous connecter directement dans l’interface de login de votre machine

par ssh

 ssh base\\admin@ipdevotremachine
#ou
ssh base@ipdevotremachine

let’s enjoy.

Publié dans apache2, debian, GNU/Linux, html5, serveur web, Serveurs, webdev

Changer le répertoire (/var/www/html) par défaut d’apache2 sur Debian


Si vous créez des sites web ( amateur ou pro) avec une distribution GNU/Linux  vous devez connaître forcement apache2 et savoir pour que votre application soit disponible à travers l’adresse 127.0.0.1 il faut déposer les fichiers sur le répertoire par défaut du serveur web apache2(/var/www/html) .Et si vous utilisez des éditeurs de texte  graphique comme  Sublim-text ou Brackets ou ce que vous voulez … vous devez alors les démarrer en mode administrateur(root) pour pouvoir éditer convenablement vos fichiers qui sont dans le répertoire /var/www/html et cela n’est pas très conviviale dans un environnement de test .Voila donc c’est pour cette raison que nous allons changer  le répertoire et le pointer dans un répertoire ou un utilisateur simple pourra éditer les fichiers sans disposer de droit administrateur.Maintenant  chacun peut y aller avec ces propres raisons :-p .Bon changeons ce répertoire une bonne fois pour toute :-).

1-Créons un dossier de destination

 mkdir  /home/hostname/websites

2-Donnons ensuite tous les droits à l’utilisateur « www-data » qui exécute Apache2 et ensuite attribuons un accès total à l’utilisateur simple pour ce répertoire :

chown www-data /home/hostname/websites -Rf 
sudo chmod 775 -R /home/hostname/websites
3-Editons le fichier de configuration d’apache

 sudo nano /etc/apache2/sites-available/000-default.conf

Regardons la directive « Documentroot »qui pointe vers « /var/www/html » ensuite nous allons donc changer cette directive pour y mettre  « /home/hostname/websites » .

4-Nous devons faire la même chose en changeant le chemin (/var/www/html) dans le tag « Directory » par le nouveau(/home/hostname/websites)

sudo nano /etc/apache2/apache2.conf

Enfin nous pouvons ensuite redémarrer Apache 2 pour que les changements de configuration soient pris en compte :
sudo service apache2 restart

NB : cet usage n’est pas recommandé dans un environnement de production l’aspect sécurité n’est pas pris en compte.