Créer utilisateur pour lire les log

Bonjour,

Voici une question basique que je n’arrive pourtant pas à résoudre.
Je souhaite créer un utilisateur qui aura accès à un serveur Debian et qui pourra lire les logs apache par exemple.
J’avais initialement créé l’utilisateur via adduser, puis par la suite, je l’ai rajouté au group adm.

usermod -aG adm MONUSER

L’utilisateur n’a toujours pas la possibilité de rentrer dans le dossier apache2 alors que les droits sont ok, qu’ai-je fait de travers ?

:/var/log# ll | grep apache2
drw-r--r--  2 root  adm  4096 12 juil. 09:55 apache2

Le fichier à lire

:/var/log/apache2# ll | grep error.log
-rw-r----- 1 root adm    12375 12 juil. 08:55 error.log
-rw-r----- 1 root adm    16128 12 juil. 00:00 error.log.1
-rw-r----- 1 root adm     1513 30 juin  00:00 error.log.10.gz

Une idée ?

# getent group adm
adm:x:4:MONUSER

Merci d’avance,

Il manque la permission d’exécution (x) sur le répertoire.

1 J'aime

Bonjour,

Merci Pascal pour ta réponse, mais je ne vois pas le rapport avec l’exécution (x). Le but est de restreindre uniquement à la lecture.

En essayant de mettre 777 sur le dossier apache2, l’utilisateur peut rentrer dans le dossier mais ne peut toujours pas lire le fichier erreur.log par exemple, il y a donc un oubli de ma part (sans avoir besoin de rajouter les x) non ?

La permission d’exécution sur un répertoire est nécessaire pour le « traverser », c’est-à-dire accéder aux fichiers et sous-répertoires qu’il contient. La permission en lecture ne permet que de lister le contenu du répertoire. Pas besoin de mettre 777 qui donne tous les droits à tout le monde, 750 devrait suffire.

:/var/log# chmod 754 apache2/
:/var/log# ls -alh | grep apache2
drwxr-xr-- 2 root adm 4,0K 12 juil. 09:55 apache2

Toujours l’impossibilité d’accéder au dossier apache2.

Quelles sont les permissions sur /var et /var/log ?

:/# ls -alh | grep var
drwxr-xr-x  12 root     root     4,0K 25 nov.   2020 var
:/# ls -alh /var | grep log
drwxr-xr-x 15 root     root     4,0K 12 juil. 11:31 log
:/#

L’utilisateur peut aller dans /var et dans /var/log.

Voilà !

Quelqu’un a du modifier quelque chose car en standard les droits sur /var/log/apache2 sont de 0750:

~# stat /var/log/apache2
  Fichier : /var/log/apache2
   Taille : 12288       Blocs : 24         Blocs d'E/S : 4096   répertoire
Périphérique : 253/5    Inœud : 32          Liens : 2
Accès : (0750/drwxr-x---)  UID : (    0/    root)   GID : (    4/     adm)
 Accès : 2023-07-12 06:25:01.918169604 +0200
Modif. : 2023-07-12 00:00:07.836932603 +0200
Changt : 2023-07-12 00:00:07.836932603 +0200
  Créé : 2021-08-14 14:29:25.137325187 +0200

Voici chez moi :

# stat /var/log/apache2
  Fichier : /var/log/apache2
   Taille : 4096        Blocs : 8          Blocs d'E/S : 4096   répertoire
Périphérique : 254/0    Inœud : 1049298     Liens : 2
Accès : (0754/drwxr-xr--)  UID : (    0/    root)   GID : (    4/     adm)
 Accès : 2023-07-12 11:37:17.693061709 +0200
Modif. : 2023-07-12 09:55:00.473749802 +0200
Changt : 2023-07-12 11:35:02.842152032 +0200
  Créé : 2020-11-25 13:55:23.851034812 +0100

Je peux changer les droits si besoin, je fais ce que je veux sur ce serveur.

La session utilisateur courante a-t-elle été ouverte après l’ajout dans le groupe adm ? Vérifier la présence du groupe avec id sans argument depuis la session.

Bon, j’ai supprimé l’utilisateur pour recommencer.

    root@monserveur:/# adduser test
Ajout de l'utilisateur « test » ...
Ajout du nouveau groupe « test » (1002) ...
Ajout du nouvel utilisateur « test » (1002) avec le groupe « test » (1002) ...
Création du répertoire personnel « /home/test » ...
Copie des fichiers depuis « /etc/skel » ...
Nouveau mot de passe :
Retapez le nouveau mot de passe :
passwd : mot de passe mis à jour avec succès
Modifier les informations associées à un utilisateur pour test
Entrer la nouvelle valeur, ou appuyer sur ENTER pour la valeur par défaut
        NOM []: Test
        Numéro de chambre []:
        Téléphone professionnel []:
        Téléphone personnel []:
        Autre []:
Cette information est-elle correcte ? [O/n]
Ajout du nouvel utilisateur « test » aux groupes supplémentaires « users » ...
Ajout de l'utilisateur « test » au groupe « users » ...
root@monserveur:/# history | grep  usermod
  520  usermod -a -G adm yl
  541  history | grep usermod
  542  usermod -a -G adm yl
  544  usermod -aG adm yl
  590  history usermod
  591  history | grep  usermod
root@monserveur:/# usermod -aG adm test
root@monserveur:/# getent group adm
adm:x:4:test

Je me connecte maintenant sur l’utilisateur test et ça fonctionne.

Oui quand j’ai rajouté l’utilisateur dans adm, il était déjà connecté sur sa session, mais même en le déconnectant pour ressayer, ça ne fonctionnait pas.

Bonjour

Je ne pense pas que ce soit une bonne idée d’utiliser le nom d’une commande
pour nommer un compte utilisateur.


Voir le retour de la ligne de commande suivante :

man test

Pourquoi ? Il y en a déjà dans les utilisateurs et groupes système (man, mail, sudo, ssh, sshd…).

J’ai refais la manipulation avec le compte utilisateur (donc sans utiliser test :grinning:) et c’est ok.

N.B. Merci pour l’information, j’éviterais le mot test la prochaine fois !!