---
# System prepended metadata

title: TP Administration Linux

---

---
title: TP Administration Linux
---
# Interfaces Réseaux VM



| Interface | VM <-> VM | VM <-> Hôte | VM <-> Ext |
| -------- | -------- | -------- | ----- |
| Par pont (bridge)     | Oui     | Oui     | Oui |
| Réseau privé hôte | Oui | Oui | Non |
| Réseau interne | Oui | Non | Non |

# Le pare-feu

- Logiciel : Pfsense (FreeBSD)
- Adresse IP : 10.10.1.254
- Passerelle : 192.168.103.70/22

/!\ La passerelle de LAN (10.10.1.254) est inscrite dans toutes les machines de LAN sauf dans le pare-feu (lui-même)

# Serveur DNS-DHCP

## DNS

2 fichiers en jeu:
- named.conf.local
- db.conf.local

Après modification:
- Relancer le service `sudo service bind9 restart`
- Vérifier qu'il n'y a pas d'erreur dans les fichiers de configuration `sudo service bind9 status`

Tester le service avec nslookup
```
$ nslookup
> server <ip-du-serveur-dns>
> nom-de-domaine-a-resoudre
```
Si OK: tester le ping sur le nom de domaine
- Si OK : Le DNS est opérationnel
- Sinon : Le "ping" ne trouve pas le serveur DNS => Netplan à modifier

Le netplan se situe à `/etc/netplan/XX-installer-config.yaml`
Une fois les modifications faites: `sudo netplan apply`


# Serveur LDAP

LDAP est une base de donnée optimisée pour la lecture. Contrairement aux bases SQL, il y a de la redondance des données pour optimiser la lecture. En revanche, on a moins de sécurité notamment à cause de la redondance. En effet, si on modifie en entrée, il ne faut pas oublier de changer les informations redondantes.
Les bases LDAP se rapproche des bases de données NoSQL.

- Changer le nom d'hôte: `sudo hostname set-hostname <nouveau-nom>`
- Retirer le DHCP: `sudo apt purge isc-dhcp-server`
- Installer le packet *sldap*: `sudo apt install slapd ldap-utils`
- Configurer *sldap*: `sudo dpkg-reconfigure slapd`
    - Omettre: Non
    - Nom de domaine: grp10.grit.lab
    - Nom d'entité: grp10.grit.lab
    - Supprimer: Oui
    - Déplacer: Oui
- Créer le mot de passe "secret": `sudo slappasswd`
- Créer le fichier de configuration `/etc/ldap/ldap.conf`

## Apache directory

Workbench -> (en bas à gauche) Nouvelle connexion
Nom d'hôte: Adresse IP du serveur LDAP
Port: 389
Bind DN: `cn=admin,dc=grp10,dc=grit,dc=lab`
pass: *Mot de passe de l'admin*

## Ajouter/Modifier la structure

*add_content.ldif*:
```
dn: ou=Users,dc=grp10,dc=grit,dc=lab
objectClass: organizationalUnit
ou: Users

dn: ou=Groups,dc=grp10,dc=grit,dc=lab
objectClass: organizationalUnit
ou: Groups
```
/!\ Ne pas oublier le saut de ligne entre les bloc sous peine d'erreur d'execution

Puis:
```
ldapadd -x -D cn=admin,dc=grp10,dc=grit,dc=lab -W -f add_content.ldif
```

On ne peut pas réexecuter la commande car les structures existent déjà. Il faudrait pour ca supprimer les structures pour les reconstruire.

## Utilisation

Installer le package:
```
sudo apt install ldapscripts
```

Configurer le script: */etc/ldapscripts/ldapscripts.conf*
```
SERVER="ldap://10.10.1.202"
SUFFIX="dc=grp10,dc=grit,dc=lab"
GSUFFIX="ou=Groups"
USUFFIX="ou=Users"
MSUFFIX="ou=Machines"
BINDDN="cn=admin,dc=grp10,dc=grit,dc=lab"
USHELL="/bin/bash"
UHOMES="/export/home/%u"
CREATEHOMES="yes"
HOMESKEL="/etc/skel"
HOMEPERMS="750"
```

Secrets: */etc/ldapscripts/ldapscripts.passwd*

Pour changer le mot de passe sans ajouter un retour à la ligne à la fin:
```
$ sudo bash -c 'echo -n "admin" > /etc/ldapscripts/ldapscripts.passwd'
```

Changer ses permissions:
```
$ sudo chmod 400 /etc/ldapscripts/ldapscripts.passwd
```

Rappel des permissions:
![](https://i.imgur.com/dishFSB.png)

