Commandes Par Manip (NPS, SAMBA, PAM, Etc)

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 21

Synthèse OS Open source

-
(Commandes en vrac par thème)

Préparation du disque

1) Méthode de partition : manuel


2) Choisir le disque
3) Créer une table de partition
4) Choisir FREE SPACE
5) Créer une nouvelle partition SWAP (primaire) 2GB
6) Use as « SWAP »
7) Terminer
8) Choix FREE SPACE
9) 10GB > primaire > début > use as ext4
10) Point de montage /

Voilà pour la config minimum requise !

Les ajouts possibles en fonction des besoins :

/var (pour serveur web – 1GB+-)

/home (pour serveur avec utilisateurs – 100Mo par user min)

Attention ne pas oublier d’installer GRUB


NTP

Sur le serveur ntp :

1) Apt-get install ntpdate ntp


2) /etc/init.d/ntp stop
3) /usr/sbin/ntpdate be.pool.ntp.org
4) Nano /etc/ntp.conf

Ajouter : (pour belnet)


Server 0.be.pool.ntp.org

Server 1.be.pool.ntp.org

Server 2.be.pool.ntp.org

Server 3.be.pool.ntp.org

5) /etc/init.d/ntp restart
6) Ntpq -p (si 0 à delay, jitter ou offset, alors problème)

Autres explications :
Il faut attendre quelques minutes puis retaper ntpq -p
*= serveur en train d’être utilisé
- = serveur éliminé par l’algorithme
+ = candidats potentiels
Ntptrace : donne des infos supplémentaires sur la synchronisation qui a lieu
Connaitre l’heure du système : date

Sur le client ntp :

1) Apt-get install ntp


2) Nano /etc/ntp.conf

Ajouter (et commenter le reste) :

server <adresse_ip_du_serveur_ntp>

3) /etc/init.d/ntp restart
4) Ntp-wait -v
5) Vérifier : ntpq -p (on doit voir l’ip du serveur ntp)
Telnet

Sur les deux machines :

1) Apt-get install telnetd


2) telnet <ip_cible>
3) exit (pour fermer la connexion à l’ip ciblée)

SSH

Sur les deux machines :

1) apt-get install ssh openssh-server openssh-client


2) service ssh start
3) ssh <user_cible>@<ip_cible> (ex : ssh [email protected])

Fichiers de configuration :

Client : /etc/ssh/ssh_config

Serveur : /etc/ssh/sshd_config

PermitRootLogin No Empêche la connexion à root


PasswordAuthentification No Désactiver connexion par mdp autorise
uniquement la connexion par clés
PermitEmptyPassword No Autorise mdp vide
UsePam No N’utilise pas PAM
AllowUsers Login1 login2 Utilisateurs autorisés
AllowGroup Grp1 grp2
DenyUsers
DenyGroups
MaxStartups 1 Nb de connexions simultannées
• Roberto peut se connecter au serveur ssh avec le password ‘tttttt’ :

1) adduser roberto (sur le serveur)


a. password : tttttt
2) nano /etc/ssh/sshd_config (sur le serveur)
a. AllowUsers roberto
3) /etc/init.d/ssh restart ou service ssh restart
4) Service sshd restart

• Root ne peut pas se connecter en ssh :

1) Nano /etc/ssh/sshd_config (sur le serveur)


a. PermitRootLogin no
b. DenyUsers root
2) /etc/init.d/ssh restart ou service ssh restart
3) Service sshd restart

• Imposer une authentification forte via certificat :

1) Nano /etc/ssh/sshd_config (sur le serveur)


a. PubKeyAuthentication yes
b. RSAAuthentication yes
c. PasswordAuthentication no
2) Ssh-keygen -b 4096 (sur le client)(+ enter + mettre un passphrase)
3) Ssh-copy-id <user>@<ip_serveur> (Si ça ne marche pas C’est OK)
4) Retourner sur le serveur → nano /etc/ssh/sshd_config (sur le serveur)
a. PubKeyAuthentication no
b. RSAAuthentication no
c. PasswordAuthentication yes
5) (Sur le client !) Ssh-copy-id <user>@<ip_serveur> (ça doit marcher mtn !)
6) Retourner sur le serveur → nano /etc/ssh/sshd_config (sur le serveur)
a. PubKeyAuthentication yes
b. RSAAuthentication yes
c. PasswordAuthentication no
7) /etc/init.d/ssh restart ou service ssh restart
8) Service sshd restart
9) (Depuis le client !) ssh <user>@<ip_serveur>
Connexion ssh par putty

1) Ouvrir putty sur Windows


2) Entrer l’ip cible, le port 22 et cocher « ssh »
3) Cliquer sur OUI si message
4) Entrer un user dans la console (qui vient de s’ouvrir)

Connexion par certificats (putty)

1) Ouvrir putty_gen sur Windows


2) Cocher RSA en bas
3) Cliquer sur Generate

Attention il faut bouger la souris durant le chargement sinon BUG

4) Cliquer sur Save public key (public.pub)


5) Cliquer sur Save private key (private.pub)
6) Fermer et Ouvrir putty
7) Entrer l’ip du serveur, le port 22 et cocher ssh
8) A gauche, dans translation, vérifier que c’est bien UTF-8
9) A gauche, dans data, à côté de Auto-Login username, écrire l’user cible
10) A gauche dans SSH>Auth. Cliquer sur Browse en bas et choisir la clé privée
11) A gauche, dans session, entrer un nom dans « saved session » (n’importe quoi)
puis cliquer sur save, choisir le nom et cliquer sur open.
DHCP

Sur le serveur :

1) Ip a (repérer le nom de la carte réseau – ens33, eth0, etc)


2) Nano /etc/network/interfaces (pour mettre une IP statique)

Ajouter :

Auto <nom_carte_réseau>

Iface <nom_carte> inet static

Address <une _adresse_libre_du_réseau>

Netmask 255.255.255.0

Gateway 192.168.1.254

3) /etc/init.d/networking restart
4) Apt-get install isc-dhcp-server
5) Nano /etc/default/isc-dhcp-server

Modifier pour avoir :

INTERFACEv4 = ‘’nom_de_la_carte’’

6) Nano /etc/dhcp/dhcpd.conf

Ajouter :

Subnet 192.168.1.0 netmask 255.255.255.0{

Range 192.168.1.10 192.168.1.50 ; (voir consigne pour IP)

Option domain-name-servers 8.8.8.8 ; (DNS)

Option routers 192.168.1.254 ; (IP de la passerelle)

Default-lease-time 600 ; (Bails)

Max-lease-time 7200 ;
}
7) Service isc-dhcp-server restart
Sur le client :

1) Ip a (repérer le nom de la carte réseau)


2) Nano /etc/network/interfaces (pour passer la carte en DHCP)

Ajouter :

Auto <nom_carte>

Iface <nom_carte> inet dhcp

3) Ifdown <nom_carte>
4) Ifup <nom_carte>
5) Vérifier :
a. Ip a (vérifier qu’il ait pris une IP dans la range configuré
précédemment)

Réserver une adresse à un client précis (MAC)

Sur le serveur :

1) Nano /etc/dhcp/dhcpd.conf

Ajouter :

Host <nom_de_la_machine_cliente>{ (commande hostname pour le savoir)


Hardware ethernet <adresse_MAC_cliente> ; (ip a sur client)
Fixed-address 192.168.0.100 ; (IP à lui donner)
}
2) Service isc-dhcp-server restart

Sur le client :

1) Ifdown <nom_carte_réseau>
2) Ifup <nom_carte_réseau>
3) Vérifier :
a. Ip a (l’ip doit être celle fixée plus haut…)
DNS

1) Apt-get install bind9 dnsutils


2) S’assurer qu’on a une IP statique sur le serveur (Cf point 2 du DHCP). C’est le cas
si la machine DNS est aussi la machine DHCP
3) Nano /etc/bind/named.conf.options

Décommenter et modifier pour avoir :

4) Service bind9 restart


5) Nano /etc/bind/named.conf.local

Ajouter :

Attention : Changer les IP et les noms de domaine en fonction des consignes.


Les parties soulignées doivent être changées.

6) Cp /etc/bind/db.local /etc/bind/db.test.be
7) Nano /etc/bind/db.test.be
Ajouter : (les parties à modifier sont soulignées)
8) Cp /etc/bind/db.test.be /etc/bind/db.test.be.inv
9) Nano /etc/bind/db.test.be.inv

Ajouter :

10) Service bind9 restart


11) Nslookup (pour vérifier le fonctionnement)
12) Créer la zone secondaire sur srv2
Sur SRV2 :
a. Nano /etc/network/interfaces

Mettre la bonne IP en statique

b. Nano /etc/hostname

Ajouter :

Srv2.test.be.

c. Service hostname.sh restart


d. Nano /etc/resolv.conf

Ajouter l’ip des 2 serveur (SRV1 et SRV2):

nameserver 172.16.23.201

nameServer 172.16.23.202

Sur SRV1 :

a. Nano /etc/bind/named.conf.options
Commenter le forwarder et ajouter :

Sur SRV2 :

a. Nano

/etc/bind/named.conf.local

Ajouter :

b. Nano /etc/bind/named.conf.options

c. Service bind9 restart


d. Nslookup (pour vérifier)
Systèmes de fichiers (partitions)

1) Apt-get install gnu-fdisk parted


2) Lister les partitions
a. Fdisk -l
b. Cfdisk
c. Sfdisk -l
3) Commandes intégrées à fdisk -l
a. M → liste les options possibles
b. P → affiche la table des partitions
c. L → liste les différents types de système de fichiers
4) Créer des partitions sur un disque (en su !)
a. Ajouter le disque dans VirtualBox
b. Fdisk /dev/sdb (remplacer par le bon disque)
i. N (nouvelle partition)
ii. P ou e (primaire ou étendue, peu importe)
iii. Enter + enter
iv. +300M (à remplacer par la taille de la partition)
v. W (sauvegarder)
c. Recommencer tant qu’il faut des partitions
d. Partprobe OU partprobe /dev/sdb (appliquer les changements)
e. Vérifier : fdisk -l
5) Formater les partitions (en fonction de ce qu’on nous demande)
• Formater en ext4

Mkfs.ext4 /dev/sdb1

• Formater en ext2 avec des blocs de 1Ko et des inodes de 4Ko

Mkfs -t ext2 -b 1024 -i 4096 -L ’’FSext2’’ /dev/sdb1

6) Montage
a. Mkdir /mnt/one
b. Mount /dev/sdb1 /mnt/one
c. Vérifier : df -hT OU mount

7) Modifier le système de fichier d’une partition


a. Ext2 → ext3
i. Tune2fs -j /dev/sdb1
b. Ext3 → ext4
i. Tune2fs -o extents, uninit_bg, dir_index /dev/sdb1
8) Afficher la fiche complète d’une partition
a. Tune2fs -l /dev/sdb1
9) Vérifier les montages actifs
a. Cat /etc/mtab
10) Rendre un montage permanent
a. Réécrire les lignes voulues du fichier /etc/mtab dans le fichier /etc/fstab
11) Vérifier : df -hT
12) Afficher le fichier lost+found : ls -al /mnt/one

RAID

1) Apt-get install mdadm


2) Créer un RAID 1 qui sera stocké dans le fichier /dev/md0 et qui sera composé de
3 partitions :
a. Mdadm --create /dev/md0 --level=1 --assume-clean --raid-
devices=3 /dev/sdb1 /dev/sdb2 /dev/sdb3

(les 2 lignes forment la même commande)


(Level = type de RAID → 1 = miroir, 0 = agrégé par bande, etc)

3) Passer une des 3 partition en Spare Disk


a. Cat /proc/mdstat (voir l’état du RAID)
b. Mdadm --manage /dev/md0 --fail /dev/sdb3 (désactive une partition)
c. Cat /proc/mdstat (doit afficher un F à coté de /dev/sdb3)
d. Mdadm --manage /dev/md0 --remove /dev/sdb3 (retire la partition)
e. Mdadm --grow /dev/md0 --raid-devices=2 (on passe de 3 à 2 devices)
f. Mdadm -a /dev/md0 /dev/sdb3 (on rajoute la partition au RAID)
g. Cat /proc/mdstat (doit afficher un S à côté de la partition qui
est maintenant en spare disk)
4) Vérifier : fdisk -l OU mdadm –detail /dev/md0

5) Formater le RAID : mkfs.ext4 /dev/md0


6) Monter le RAID
a. Mkdir /media/raid
b. Nano /etc/fstab
i. Ajouter :

/dev/md0 /media/raid ext4 defaults 0 1

7) Vérifier les partitions : df -hT

LVM (move home ne marche pas)

1) Apt-get install lvm2


2) /etc/init.d/lvm2 start
3) Pvcreate /dev/md0 (on annonce un volume « physique », ici RAID)
4) Vérifier : pvscan ET lvmdiskscan ET pvdisplay
5) Vgcreate groupeRAID /dev/md0 (ajoute le volume physique dans un groupe de
volum)
6) Ajouter un PV au groupe (selon la manip) : vgextend groupeRAID /dev/md1
7) Lvcreate -n volumeLogique -L 100M groupeRAID
8) Vérifier : lvdisplay
9) Mkfs -t ext4 /dev/groupeRAID/volumeLogique (formate le volume)
10)Mkdir /new-home
11) Mount -o rw,remount /
12) Mount /dev/groupeRAID/volumeLogique /new-home
13) Verifier: df -h
14) Cp -a /home/. /new-home/
15) Vérifier: df -h (l’espace dispo a du diminuer)
16) Blkid /dev/groupeRAID/volumeLogique (si la commande fonctionne faire la
commande ci-dessous)
17) Blkid /dev/groupeRAID/volumeLogique >> /etc/fstab
18) Nano /etc/fstab
19) Modifier le fichier pour avoir ceci : (enlever les ‘’ ‘’)
a. UUID=<uuid> /home ext4 defaults 0 2
20) ATTENTION ! Si une autre ligne du fichier contient /home, il faut la commenter
21) DANS LE CAS CONTRAIRE :
a. Mv /home /home.bak
b. Mkdir /home
22) Reboot
Quotas (commandes incomplètes)

1) Apt-get quota quotatool


2) Adduser toto
3) Nano /etc/fstab
a. Ecrire : rw, defaults, usrquota (à la place de « defaults »)
4) Mount -o remount /home
5) Cd /home
6) Quotacheck -avugm
7) Ls -al (on doit avoir un fichier aquota.usr)
8) Mount -o remount /home
9) Vérifier l’état de la config des quotas
a. Repquota -uibslqt /home

Déplacer le répertoire HOME vers une autre partition

1) S’assurer qu’il existe un utilisateur de test (adduser toto)


2) Mkdir /new-home
3) Mount /dev/sdb1 /new-home/
4) Df-h (vérifier le montage)
5) Cp -a /home/. /new-home
6) Df -h (il doit y avoir moins d’espace libre sur la partition)
7) Vérifier : ls -al /new-home/toto/
8) MAJ des points de montage
a. Blkid /dev/sdb1 (copier l’UUID)
b. Nano /etc/fstab

Ajouter :

UUID=<uuid_du_fichier_précédent> /home ext2 defaults 0 2

9) Mv /home /home.bak
10) Mkdir /home
11) Rm -rf /home.bak
12) Reboot
Apache 2 (http pas sécure)

1) apt-get install w3m w3m-img apache2


2) w3m 127.0.0.1 (si la page apache apparait c’est OK)
3) Tester aussi la précédente commande depuis un autre pc en remplaçant
127.0.0.1 par l’ip du pc
4) Cd /var/www
5) Mkdir site1
6) Cd site1
7) Nano index.html
a. Ecrire le site
8) Cp /etc/apache2/sites-available/000-default.conf
/etc/apache2/sites-available/site1.conf
9) Nano /etc/apache2/sites-available/site1.conf
a. Modifier pour avoir :

DocumentRoot /var/www/site1

10) A2dissite 000-default.conf (ou juste 000-default si ça ne marche pas)


11) A2ensite site1.conf
12) Service apache2 reload
13) W3m 127.0.0.1 (la page doit s’afficher)
14) Si besoin d’accéder au log (en cas de bug) :
a. Tail -f /var/log/apache2/access/log
b. Tail -f /var/log/apache2/error.log
HTTPS (secure)

1) Mkdir /var/www/secure
2) Cd /var/www/secure
3) Nano index.html
a. Ecrire le site
4) Générer une clef et un certificat :
a. Openssl genrsa -des3 -out private.key 1024
b. Openssl req -new -key private.key -out private.csr
5) Cp private.key private.jey.origin
6) Openssl rsq -in private.key.origin -out private.key
7) Openssl x509 -req -days 365 -in private.csr -signkey private.key -out private.crt
8) Nano secure.conf
a. Modifier pour avoir :

<virtualHost * :443>

ServerAdmin webmaster@localhost

ServerName www.secure.test (remplacer par le domaine créé)

DocumentRoot /var/www/secure

SSLEngine on

SSLOptions +fakeBasicAuth +ExportCertData +StrictRequire

SSLCertificateFile ‘’var/www/secure/certs/private.crt’’

SSLCertificateKeyFile ‘’var/www/secure/certs/private.key’’

</virtualHost>

9) Mkdir /var/www/secure/certs
10) Mv private.crt /var/www/secure/certs/private.crt
11) Mv private.key /var/www/secure/certs/private.key
12) A2ensite secure.conf
13) /etc/init.d/apache2 restart
14) A2enmod ssl
15) /etc/init.d/apache2 restart
PHP
1) Apt-get install php7.0 php7.0-fpm libapache2-mod-php7.0
2) Verification : php -v
3) Création d’un fichier de test
a. Nano /etc/www/site1/info.php

Ecrire :

< ?php

Phpinfo() ;

?>

4) W3m 127.0.0.1 (ou w3m 127.0.0.1/info.php si ça ne marche pas)


5) Dans le cas où on nous le demande, modifier le fichier de configuration :
a. Nano /etc/php7/apache2/php.ini

Modifier ce qu’on nous demande. Pour trouver la bonne ligne faire une
recherche avec : ctrl + w

MYSQL

1) Apt-get install mysql-server mysql-client phpmyadmin


2) W3m 127.0.0.1/phpmyadmin/index.php

OU

www.domaine.be/phpmyadmin/index.php
PAM

• Les dossiers personnels sont créés automatiquement

1) Nano /etc/pam.d/common-account
Ajouter :
Session required pam_mkhomedir.so skel=/etc/skel umask=0022

2) Useradd test
3) Ls /home/test (Normal si ça n’existe pas)
4) Su test
5) Maintenant le dossier est automatiquement créé (ça marche)

• Bloquer l’accès au SSH à test à une période donnée

1) Apt-get install ssh openssh-server openssh-client


2) Nano /etc/security/time.conf
Ajouter:

Sshd;*;test;!Al1000-2000
(refuse l’accès en ssh à l’utilisateur test tous les jours entre 10h et 20h)

Sshd;*;*;Al0000-2400
(Autorise l’accès en ssh à tous les utilisateurs tous les jours)

Sshd;*;*;!Wd0000-2400
(Refuse l’accès en ssh à tous les utilisateurs les week-end)

3) Nano /etc/pam.d/sshd
Ajouter :
Account required pam_time.so

4) Tester: ssh user@localhost


CRONTAB (programmer une tâche)

Théorie :

Fichier : /etc/crontab
Format : MM HH DD OO WW UU command
MM = minute, 0-59
HH = hour, 0-24
DD = day of month, 1-31
OO = month, 1-12
WW = day of week, 0-6 (Monday is 0)
UU = user (la commande sera lancée comme si cet utilisateur l’avait lancée)

• Programmer l’arrêt du système à une heure donnée

1) Nano /etc/crontab
Ajouter:

30 22 * * * root shutdown -h now (arête le système à 22h30 tous les jours)

Attention : il faut attendre un peu plus que l’heure écrite, il y a un délai

2) SI CA NE MARCHE PAS !
a. Sudo crontab -e
b. 30 22 * * * poweroff

SAMBA

1) Apt-get install samba samba-client


2) Echo > /etc/samba/smb.conf (pour vider le fichier)
3) Nano /etc/samba/smb.conf
Ajouter : (ATTENTION faire en fonction de l’énoncé – ici = énoncé de 2018)
[global]
Workgroup = workgroup
Security = user

[public]
Path = /home/public
Public = yes
Writable = no
Read only = yes
Browsable = yes

[free]
Path = /home/free
Public = yes
Writable = yes
Read only = no
Browsable = yes

[homes]
Browsable = no
Writable = yes
Create mode = 0700
Directory mask = 0700
Valide user = %s

[peter]
Path = /home/peter
Public = no
Writable = yes
Create mode = 0700
Directory mask = 0700
Valide user = peter

4) Adduser –shell /bin/bash roberto (créer Roberto avec accès shell)


5) Adduser –shell /bin/false alice (créer alice sans accès shell)
6) Adduser –shell /bin/bash peter
7) Smbpasswd -a roberto (ajouter les comptes à samba)
8) Smbpasswd -a alice
9) Smbpasswd -a peter
10) Pour se déconnecter d’un accès samba sur W : cmd > net use * /delete
11) Mkdir /home/public
12) Chmod 777 /home/public
13) Mkdir /home/free
14) Chmod 777 /home/free

Vérifier en allant sur Windows > \\adress_ip_samba

Vous aimerez peut-être aussi