Exercice unix commande - Droits d'accèes - utilisateurs et groupes - Contrôles d'accès
Rédigé par GC Team, Publié le 02 Mars 2010, Mise à jour le Mardi, 21 Juin 2022 10:38Exercice 1: Droits d’accès
Pour cet exercice, vous créerez un utilisateur banalisé
- Vous est-il possible de faire une copie du fichier /etc/passwd? Vous est-il possible de supprimer ou de modifier le fichier /etc/passwd?
Répeter ces tentatives en tant qu'utilisateur root.
Expliquer la situation à l’aide de la commande ls -l. - A l’aide de la commande id, vérifier votre identité et le(s) groupe(s) au(x)quel(s) vous appartenez.
- Créer un petit fichier texte (de contenu quelconque), qui soit lisible par tout le monde, mais non modifiable (même pas par vous).
- Créer un répertoire nommé "Secret", dont le contenu est visible uniquement par vous même.
Les fichiers placés dans ce répertoire sont-ils lisibles par d’autres membres de votre groupe? - Créer un répertoire nommé "Connaisseurs" tel que les autres utilisateurs ne puissent pas lister son contenu mais puissent lire les fichiers qui y sont placés.
- On obtiendra:
ls Connaisseurs
ls : Connaisseurs: Permission denied
cat Connaisseurs/toto
<...le contenu du fichier toto (s’il existe)...> - Chercher dans le répertoire /usr/bin des exemples de commandes ayant la permission SUID.
De quelle genre de commande s’agit-il?
Exercice 2: Les utilisateurs
- Votre compte d'utilisateur est-il défini dans le fichier /etc/passwd? Pourquoi? Il y a-t-il d'autres alternatives?
- Quel est le répertoire de connexion de l’utilisateur root?
- Quel est le shell de l’utilisateur root?
- Quelle est la particularité de l’utilisateur nobody? Et de l’utilisateur shutdown?
- Quels sont les utilisateurs définis dans /etc/passwd qui font partie du même groupe que l’administrateur?
Exercice 3: Contrôles d'accès
Un administrateur désire s’assurer chaque matin que tous les fichiers placés sous $REPERTOIRE sont lisibles par tout le monde, mais non modifiables excepté par leur propriétaire.
- Quel doit être le mode de ces fichiers et répertoires?
- Écrire un script permettant d’afficher la liste des fichiers d'un répertoire et le type de chacun (utilisation de file et sort ) trié par type.
Corrections
{sidebar id=6}{sidebar id=1} |
Droits d’accès
- Q1) il est impossible de supprimer le fichier /etc/passwd. Seul le propriétaire (root) du fichier peut le supprimer.
ls -l /etc/passwd
-rw-r--r-- 1 root root 1705 2004-12-09 09:55 /etc/passwd
- Q2)
id
uid=1000(toto) gid=1000(toto) groupes=1000(toto)
- Q3)
touch Lecture
chmod 444 Lecture
-r--r--r-- 1 toto toto 3 2004-12-09 09:55 Lecture
- Q4)
mkdir Secret
chmod 700 Secret
drwx------ 2 toto toto 4096 2004-12-09 09:55 Secret
- Q5)
mkdir Connaisseurs
chmod 711 Connaisseurs
/usr/bin/passwd pour modifier son mot de passe
/usr/bin/gpasswd pour administrer le fichier /etc/group
/usr/bin/readcd pour lire et écrire des cd
Ces commandes "travaillent" en tant que root mais peuvent être endossées par d'autres utilisateurs
Les utilisateurs
- Q1)
Non, car les comptes sont définis globalement au sein d'un "domaine" NIS.
- Q2)
Le répertoire de connexion de root est /root.
- Q3)
Le shell est /bin/bash.
- Q4)
L'utilisateur Nobody n'a pas de home valide, son home devient /.
- Q5)
sync, postfix, sshd, partimag et distccd.
Contrôles d'accès
- Q1)
fichiers: rwxr-xr-x
répertoires: rwxr-xr-x
- Q2)
1 2 3 4 5 6 7 |
#! /bin/bash for i in `ls` do file $i >>text done more text| sort -t: +1 rm text |