Par défaut, sur linux, les services réseaux on un utilisateur attribué. C’est avec cet utilisateur que le service s’exécute. Cet utilisateur ne peut pas être utilisé pour s’authentifier au système à cause de l’attribue “/sbin/nologin” qui lui est affecté.
Voici la définition de l’utilisateur apache dans le fichier “/etc/passwd” :
apache:x:48:48:Apache:/var/www:/sbin/nologin
Pour rappel :
nom d’utilisateur:UID:GID:Nom du Groupe:Chemin du répertoire de base:programme lancé au démarrage
Pour apache, le programme d’ouverture de session est “/sbin/nologin” ce qui nous empêche de s’authentifier.
exemple :
# su – apache
This account is currently not available.
Nous allons maintenant entrer dans le vif du sujet. Comment faire lorsqu’on a des messages d’erreurs de type “Permission denied” sur notre page WEB? Ou bien dans les logs de Bind ?
Et bien pour moi, le plus simple est de s’authentifier avec l’utilisateur et de vérifier qu’on accède bien à la page que l’on souhaite afficher. Pour cela, il suffi d’utiliser cette commande :
su -l apache -s /bin/bash
A l’aide de cette commande, nous allons tout simplement simuler que l’utilisateur apache a le droit de s’authentifier sur le système et nous allons pouvoir tester ses droits. Le fichier “/etc/passwd” n’est pas modifié.
Attention, l’utilisateur apache n’ayant pas de mot de passe, il faut être root pour executer cette commande.
Autres articles similaires: