Les commandes de base de Linux
Crédit [1]
✎ Travail n° 1 Apport de connaissances
-
Consulter le document Introduction à Linux pour une présentation succinte de Linux afin de pouvoir poursuivre l’atelier.
💻 Travail n° 2 : Créer son compte personnel
Après s’être authentifié, Linux sauvegarde tous les éléments de profil utilisateur (préférences etc…) dans le répertoire /home/<user>
où <user>
désigne le login de l’utilisateur c.-à-d. son nom de connexion à Linux. Ce répertoire est appelé le home directory ou, en français, le répertoire d’accueil.
La création d’un compte utilisateur implique de :
-
créer le répertoire d’accueil pour cet utilisateur (→
/home/<utilisateur>
) dans lequel seront stockés tous les éléments de son profil -
créer l’utilisateur en spécifiant :
-
son login c.-à-d. son nom de session/connexion
-
le chemin de son répertoire d’accueil
-
son mot de passe
-
L’objectif de ce travail est de vous faire créer votre propre compte utilisateur sur OpenSUSE.
-
En étant connecté en tant qu’administrateur (→
root
), créez le répertoire de votre compte selon les exigences suivantes :-
il doit se trouver dans le répertoire
/home
-
il portera votre nom de login (→ votre nom de famille)
-
le propriétaire (
root
pour l’instant) aura tous les droits dessus. -
les membres du groupe par défaut (
root
pour l’instant) pourront le lire et parcourir mais pas écrire dedans. -
tous les autres n’auront aucun droit.
Solution
localhost:~ # mkdir /home/skywalker localhost:~ # chmod 0750 /home/skywalker localhost:~ # ls -l /home total 0 drwxr-x--- 1 root root 0 Sep 24 10:20 skywalker localhost:~ #
-
-
En étant connecté an tant qu’administrateur (→
root)
, créer l’utilisateur associé à votre compte avec la commandeuseradd
. Pour ce faire, consulter préalablement la page de manuel de cette commande (→man useradd
) afin de trouver les options qui permettent de spécifier le mot de passe et le chemin du répertoire d’accueil.En cas d’erreur dans la création de l’utilisateur avec la commande
useradd
, on peut utiliser la commandeusermod
pour modifier les caractéristiques du compte ou simplement le détruire avec la commandeuserdel -rf <user>
.Solution
localhost:~ # useradd -M -d /home/skywalker -N -g users -c "Luc Skywalker" skywalker (1) localhost:~ # passwd skywalker (2) New password: Retype new password: passwd: password updated successfully
1 Crée l’utilisateur skywalker
dont le nom complet est Luc Skywalker (→ option-c
). Son répertoire d’accueil est/home/skywalker
(→ option-d
) mais n’est pas créé (→ option-M
) puisque cela a été fait à la question précédente. Enfin, son groupe par défaut serausers
(→ option-g
) et aucun groupe portant son nom ne sera créé (→ option-N
)2 Attribue un mot de passe à l’utilisateur skywalker
-
Modifier enfin le propriétaire (→
chown
) et le groupe (→chgrp
) de votre répertoire personnel afin qu’il vous appartienne et qu’il soit affecté au groupeusers
(→ groupe prédéfini dans OpenSUSE)Résultat attendu pour l’utilisateur Luc Skywalkerlocalhost:~ # ls -ld /home/skywalker/ drwxr-x--- 1 skywalker users 158 Sep 22 12:26 /home/skywalker/
Solution
localhost:~ # chown skywalker /home/skywalker/ (1) localhost:~ # chgrp users /home/skywalker/ (2) localhost:~ # chown skywalker:users /home/skywalker/ (3) localhost:~ # ls -ld /home/skywalker/ drwxr-x--- 1 skywalker users 0 Sep 24 10:20 /home/skywalker/ localhost:~ #
1 On change le propriétaire du répertoire 2 On change le groupe affecté au répertoire 3 On peut changer à la fois le propriétaire et le groupe du répertoire avec le commande chown
(→ voir la syntaxe dans la page de manuel :chown [OPTION]… [OWNER][:[GROUP]] FILE…
) -
Après avoir exécuté ce travail, s’assurer de pouvoir se connecter à Linux sous son nom.
Pour faire cette vérification, on peut :
-
soit quitter la session graphique en cours pour se reconnecter ensuite sur son compte
-
soit utiliser le terminal :
localhost:~ # sudo su --login skywalker (1) skywalker@localhost:~> pwd (2) /home/skywalker skywalker@localhost:~> exit (3) logout localhost:~ #
1 On prend provisoirement l’identité de l’utilisateur skywalker
2 on affiche le chemin absolu de son répertoire d’accueil (→ raccourci ~
)3 On reprend son identité d’origine (→ root
dans ce cas là)Avec cette 2ème alternative on ne vérifie cependant pas le mot de passe
-
💻 Travail n° 3 : Créer une arborescence de répertoires pour un projet
On souhaite créer une arborescence de répertoires permettant à un groupe de travail de s’échanger des données.
-
Créez l’arborescence de répertoires pour le projet selon les conditions suivantes :
-
Le groupe de travail se nomme
grtrav
.Le créer avec la commande
groupadd
avec l’option-f
. -
Les membres du groupe
grtrav
se nommentutil1
,util2
,util3
.Les créer avec les commandes
useradd
etpasswd
de façon à ce que :-
ils appartiennent au groupe
grtrav
par défaut (→ option-g
) -
leurs répertoires personnels soit créés automatiquement (→ option
-m
) -
leurs mots de passe soient leurs propres noms d’utilisateur
-
-
Le répertoire de tête s’appelle
projet
. Il se trouve à la racine du système de fichiers (→ dans/
) et son propriétaire estroot
-
Seuls les membres du groupe auront le droit de lire et parcourir
/projet
. L’administrateur aura tous les droits. -
Chaque membre du groupe
grtrav
dispose d’un sous répertoire de travail personnel qui porte son nom préfixé parwrk-
(→wrk-util1
,wrk-util2
…) et dans lequel il peut tout faire mais que les membres degrtrav
ne peuvent que traverser. -
Les membres du groupe
grtrav
auront un accès en lecture seule dans le sous répertoirepublic
de chacun d’eux. Le propriétaire aura tous les droits. -
Le répertoire
projet
comportera un répertoire nommécommun
— propriété deroot
— sur lequel lui et tous les membres du groupegrtrav
auront tous les droits.
Résultat attendu :localhost:~ # ls -ld /projet (1) drwxr-x--- 1 root grtrav 0 Sep 24 11:58 /projet localhost:~ # tree -pug /projet (2) /projet ├── [drwxrwx--- root grtrav ] commun ├── [drwx--x--- util1 grtrav ] wrk-util1 │ └── [drwxr-x--- util1 grtrav ] public ├── [drwx--x--- util2 grtrav ] wrk-util2 │ └── [drwxr-x--- util2 grtrav ] public └── [drwx--x--- util3 grtrav ] wrk-util3 └── [drwxr-x--- util3 grtrav ] public 7 directories, 0 files
1 On affiche les caractérisitiques de /projet
2 On affiche l’arborescence des sous-répertoires présents sous /projet
Solution
localhost:~ # groupadd -f grtrav localhost:~ # useradd -N -g grtrav -m util1 localhost:~ # passwd util1 localhost:~ # useradd -N -g grtrav -m util2 localhost:~ # passwd util2 localhost:~ # useradd -N -g grtrav -m util3 localhost:~ # passwd util3 localhost:~ # mkdir /projet localhost:~ # chmod 0750 /projet localhost:~ # chgrp grtrav /projet localhost:~ # cd /projet localhost:/projet # mkdir commun/ wrk-util1/ wrk-util1/public wrk-util2/ wrk-util2/public wrk-util3/ wrk-util3/public localhost:/projet # chgrp grtrav commun/ wrk-util1/ wrk-util1/public wrk-util2/ wrk-util2/public wrk-util3/ wrk-util3/public localhost:/projet # chown util1 wrk-util1/ wrk-util1/public/ localhost:/projet # chown util2 wrk-util2/ wrk-util2/public/ localhost:/projet # chown util3 wrk-util3/ wrk-util3/public/ localhost:/projet # chmod 0770 commun/ localhost:/projet # chmod 0710 wrk-util1/ localhost:/projet # chmod 0750 wrk-util1/public/ localhost:/projet # chmod 0710 wrk-util2/ localhost:/projet # chmod 0750 wrk-util2/public/ localhost:/projet # chmod 0710 wrk-util3/ localhost:/projet # chmod 0750 wrk-util3/public/
-
-
Prendre l’identité de
util1
avec la commandesu - util1
On peut savoir le nom du compte sur lequel on est connecté grâce :
-
à l’analyse de l’invite de commande :
util1@localhost:~> (1)
1 util1
est le nom du compte courant et le ‘>’ indique que c’est un compte standard (le ‘#’ indique un compte administrateur) -
à la commande
whoami
:util1@localhost:~> whoami util1
-
-
Vérifier les droits pour cet utilisateur :
-
impossibilité de créer/détruire un répertoire/fichier dans
/projet
-
possibilité de se rendre dans tous les répertoires et sous-répertoires de
/projet/
(ex. :/projet/wrk-util2
,/projet/wrk-util2/public
,projet/commun
, …) -
impossibilité de lister le contenu des répertoires
/projet/wrk-util2/
et/projet/wrk-util3
-
impossibilité de créer/supprimer un fichier/répertoire ailleurs que dans
/projet/util1
et les répertoires/projet/wrk-utilN/public/
,/projet/commun
-
-
Faire valider votre travail par le professeur.
💻 Travail n° 4 Chemins absolus et relatifs
-
Donner les commandes à saisir par
util1
pour se déplacer dans le répertoire cible depuis le répertoire courant indiqué en utilisant le type de chemin spécifiéRépertoire courant Répertoire cible Type chemin /home/util1/
/home/util1/bin/
relatif
/home/util1/bin/
/projet/commun
absolu
/projet/commun/
/home/util1/bin
absolu avec ‘~’
/home/util1/
/projet
relatif
/projet/
~util2
absolu
/home/util2/
/projet/wrk-util3/public
absolu
/projet/wrk-util3/public
/projet/wrk-util1
relatif
-
Parcourir la page de manuel
(1p)
de la commandecd
puis :-
Donner la signification de la commande
cd -
-
Dans quel répertoire se déplace-t-on si on exécute cette commande suite à celles exécutées pour répondre à la question 1) ?
-
🞄 🞄 🞄