Virtual Box 1
Créer des comptes et administrer une machine
Créer des comptes et administrer une machine
07/02/2022
Administration d'une machine linux (debian 11), les bases
Pré-requis
VirtualBox X.X disponible sur virtualbox.org
mais nous allons préfèrer en ligne de commande :
avec les dépots de UBUNTU
sudo apt update
sudo apt install --reinstall linux-headers-$(uname -r) virtualbox-dkms dkms
sudo apt install virtualbox -y
usage de vim (vi) savoir copier et deplacer des lignes ou et des mots. yy pour copier et p pour coller (paste)
cours présentation VirtualBox
But
Savoir administrer la machine
créer un compte
les fichiers passwd/shadow /group
utilisation de ssh/scp/sftp
installation sudo sur une machine avec un compte root
Attention : les différents champs de nos fichiers sont séparés par ':' (caractère 2 petits points !)
Nous allons découvrir comment réaliser/utiliser une machine debian avec virtualbox de Oracle
Ici la machine virtuelle va nous permettre de faire des expériences sans danger! Dans le sens que si on fait des bêtises ici rien n'est grave ..juste perdre un peu de temps , la machine virtuelle est rechargeable à volonté.
La distribution Debian ici la Version 11 est disponible sur le site officiel
On va pouvoir y trouver un fichier iso , qui correspond à l'image d'un DVD bootable.
Que l'on insert dans la machine réelle .. ou virtuelle (ou pour créer une clé USB bootable) voir rufus
Accès par le WEB (mais à éviter du lycée , c'est plutôt lent) on préfère l'usage de Linux3
Et si vous en avez besoin de chez vous , vous n'avez pas le proxy du lycée.
Donc il faudra supprimer la ligne du fichier contenu /etc/apt/apt.conf
voir rubrique proxy du lycée
le plus facile et rapide d'utiliser scp ! ( mais 3 méthodes juste pour information pour les étudiants intéressés!)
login est votre login 1g1...etc
Et le point en rouge n'est pas une ponctuation mais le répertoire courant !!
scp login@172.22.1.3:/Data/Outils_Logiciels/Linux/virtualbox_machines/Debian_11.2/Debian11.ova .
➜ ~ sftp login@172.22.1.3:/Data/Outils_Logiciels/Linux/virtualbox_machines
login@172.22.1.3's password:
Connected to 172.22.1.3.
Changing to: /Data/Outils_Logiciels/Linux/virtualbox_machines
sftp> ls
Debian_11.2 Old README Windows_7_32_SP1
sftp> cd Debian_11.2
...
on rappel qu'avec sftp , il faut faire get nomdufichier pour charger les fichiers.
Debian112.ova (linux debian 11 non graphique , lègère )
W7_32_SP1.ova (machine windows 7 32 bits )
dans fichier importer la machine avec ce fichier .ova
une fois importer , on voit que nous avons mis 2 interfaces réseaux.
une nat
pour permettre l'accès à internet de la machine hôte
Pour placer votre machine virtuelle dans le même réseau que la machine hôte
Login: etudiant
passwd : etudiant
le mot de passe root est debian
Login: root
passwd : debian
Ici la sécurité nous importe peu vu que c'est juste expérimental , aucune donnée importante n'est utilisée.
sur cette machine on dispose de vim comme éditeur.
Sur cette machine on dispose d'un mot de passe , ici debian ! bonjour la sécurité .
login : root / passwd : debian
certes c'est légèrement protégé ! mais tellement facile à craquer !
on peut faire plusieurs connexion en sur une même machine (virtuelle)
ctrl (de droite sur le clavier) + Fn ( touche F1, F2 , ... F6 ) en haut du clavier
n étant tty1 pour f1 ... tty7 pour f7 ..
si pas de ctrl à droite ou la touche "windows" ..., à vérifier selon les claviers.
Vous vous connectez en tant que etudiant (ici etudiant/etduiant)
en tapant
su -
on devient root , dans son contexte
vérifier avec pwd ou vous êtes.
bien quittons root en tapant exit , qui suis je pwd?
changer de terminal
en tapant
su
vérifier avec pwd ou vous êtes.
bien quittons root en tapant exit , qui suis je pwd?
en tapant
su etudiant
login:etudiant
vérifier avec pwd ou vous êtes.
bien quittons root en tapant exit , qui suis je pwd?
Quel est la différence entre su et su - ?
sudo est une commande qui va pouvoir donner temporairement des droits root à un utilisateur privilégie du système
ici ca sera notre etudiant.
Attention! : Si vous êtes chez vous (pas de proxy comme au lycée)
il faut enlever la ligne pour imposer le proxy dans le fichier (pour configurer le proxy du lycee)
/etc/apt/apt.confd/10proxy
il faut juste installer sudo ! en étant root (update de la liste des depots) et install sudo
apt update
apt install sudo
puis ajouter etudiant dans les groupes sudo et adm (in), car ici on va donner les privilèges à etudiant qui a un mot de passe encore plus affligeant ! mais déjà il est moins connu que root ! (il va de soit que si c’était sérieux il est facile de modifier le mot de passe )
en tant que root avec vim ou nano modifier le fichier /etc/group
vi /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:etudiant
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
uucp:x:10:
man:x:12:
proxy:x:13:
kmem:x:15:
dialout:x:20:
fax:x:21:
voice:x:22:
cdrom:x:24:etudiant
floppy:x:25:etudiant
tape:x:26:
sudo:x:270:etudiant
audio:x:29:etudiant
dip:x:30:etudiant
www-data:x:33:
backup:x:34:
operator:x:37:
list:x:38:
irc:x:39:
src:x:40:
gnats:x:41:
shadow:x:42:
utmp:x:43:
video:x:44:etudiant
sasl:x:45:
plugdev:x:46:etudiant
staff:x:50:
games:x:60:
users:x:100:
nogroup:x:65534:
systemd-timesync:x:101:
systemd-journal:x:102:
systemd-network:x:103:
systemd-resolve:x:104:
input:x:105:
kvm:x:106:
render:x:107:
crontab:x:108:
netdev:x:109:etudiant
messagebus:x:110:
ssh:x:111:
etudiant:x:1000:
systemd-coredump:x:999:
a quoi sert ce fichier group ?
ici les 2 groupes sont importants pourquoi ?
Pour valider ce changement il faut redémarrer la machine.
en root:
shutdown -h 0
ou
reboot
se logger etudiant
et tester
sudo -s
puis (exit) puis tester
sudo -i
Si la partie 3-2 c'est bien déroulée on peut supprimer désormais le mot de passe de root.
éditer en tant que root le fichier shadow (fichier contenant les "hash" des mots de passes)
vi /etc/shadow
on y voit les 2 hashes des mots de passes root et etudiant
ici il faut remplacer le champ concernant root entre les ":" et placer "* " à la place du hash du mot de passe root comme suivant : (adapter à votre cas )
root:*:19026:0:999999:7:::
sauvegarder ce fichier et rebooter la machine
voila votre machine protégée comme vos ubuntu.
root n'as plus de mot de passe ! OUFF notre machine est déjà moins vulnérable!
on va créer un nouvel utilisateur de la machine
les applicatifs adduser et deluser sont codés en perl il faut installer ce dernier en étant root.
apt install perl
perl est un langage de script souvent employé sous linux (se prononce peurl)
en étant root
adduser bart
rentrer les champs qui seront purement informatif , pas de réponse critique attendue, mais nous allons nous appliquer a remplir les champs. Comme dans l'image ci-dessous
juste placer le mot de passe etudiant pour l'utilisateur bart (pour simplifier et pour la suite du tp)
on peut rebooter la machine pour se logger en bart (fermer la fenêtre de la machine virtuelle)
y a t'il une autre méthode sans rebooter?
exit est la solution !
nous sommes donc bart , connecté
ou est bart vérifier avec pwd ?
repérer les champs concernant bart (son nom salle etc...) oui c'est bien la !
more /etc/shadow
que se passe t'il ?
Expliquer pourquoi root a le droit de voir ce fichier !
repérer le hash du mot de passe ici bart , comparer le a celui de etudiant qui est pourtant le même vu que c'est nous qui avons défini cela !
hash: en francais , hache ..ou chiffrement du mot de passe.
Un hash (ou hachage en français) est une fonction mathématique qui transforme des données (comme une chaîne de caractères ou un fichier) en une valeur de taille fixe, souvent une séquence de chiffres et de lettres. Cette valeur est appelée empreinte ou somme de contrôle.
Les fonctions de hachage sont utilisées pour :
Vérifier l'intégrité des données (par exemple, vérifier qu'un fichier n'a pas été modifié).
Stocker des mots de passe de manière sécurisée (les mots de passe sont hachés avant d'être enregistrés).
Accélérer la recherche dans des structures de données comme les tables de hachage.
Exemples d'algorithmes de hachage : MD5, SHA-1, SHA-256. (cyber sécurité !)
comme nous l'avons vu créons un compte homer (le papa de bart) son mot de passe sera student
homer va écrire un fichier dans son répertoire de travail
fichier : bonjour.txt qui contiendra "bonjour le monde"
en vous connectant bart
essayer de rentrer chez homer (/home/homer) et de lire son fichier bonjour.txt
comment y remédier ?
la création d'un user pourrait être faite à "la main" en remplissant vous même les fichiers
/etc/passwd
/etc/shadow
/etc/group
mais il est préférable de d'aider du script perl adduser
il faut savoir que la configuration de ce dernier est dans le fichier
/etc/adduser.conf
que vous allez modifier pour donner des droits différents à la création du répertoire.
# If DIR_MODE is set, directories will be created with the specified
# mode. Otherwise the default mode 0755 will be used.
DIR_MODE=0755
755 donne tous les droits au propriétaire ,ça c'est bien ,mais 55 suivant ? corriger cette configuration
Dites comment modifier ce fichier de configuration pour empêcher les autres de voir le travail du compte créé.
créer un compte à tahitibob
vérifier que homer ne voit pas ce que fait tahitibob !
Pour tester notre nouvelle config ajouter marge
vérifier que ce que fait marge n'est pas visible par les autres utilisateurs?
A partir du fichier shadow placer le champ de bart (etudiant) dans le champ de homer !
Connectez vous ensuite chez homer avec student que ce passe t'il ?
Créer un compte burns
vérifier le compte en le testant.
deluser --remove-home burns
expliquer votre démarche .
réaliser un compte pour lisa sans adduser !
on ne lui mettra pas de mot de passe , rien entre '::'
elle ajoutera son mot de passe avec la fonction passwd