Une fois connecté en tant que root
je voudrais su
à un utilisateur régulier spécifique. Je cours su username
et recevez immédiatement l'invite, toujours en tant que root. Aucune erreur n'a été donnée. Je suis conscient de l'ancien problème "l'utilisateur auquel vous essayez de ne pas avoir l'autorisation pour le dossier dans lequel vous vous trouvez actuellement", et ce n'est pas le cas dans ce scénario. De plus, aucune erreur ne s'affiche, ce qui est toujours le cas (à ma connaissance) lorsque ce problème d'autorisations particulier est rencontré.
J'ai essayé su - username
avec le même effet. La commande est traitée, aucune erreur n'est vue et je reçois immédiatement l'invite.
Quelle pourrait être la cause de ce comportement? Comment puis-je résoudre ce problème?
Vérifiez le shell de l'utilisateur dans /etc/passwd
. Si le shell est /bin/false
(un shell commun pour interdire les connexions), vous verrez alors le comportement que vous décrivez. Alternativement, il peut s'agir d'un autre programme se terminant immédiatement qui donne le même résultat effectif.
Je suggère d'utiliser strace sur le processus su pour voir où le processus échoue.
strace su donaldduck
Devrait vous donner BEAUCOUP de sortie à trier, mais quelque chose dedans devrait indiquer où le problème se produit.
Vous devez vérifier le shell dans /etc/passwd
, et, sans vouloir être condescendant, vérifiez la sortie de whoami
après avoir exécuté su
.
Vérifiez vos journaux système: l'utilisation de Sudo devrait consigner toutes les actions. Donc, s'il y a un problème, il doit être écrit.
Pour se connecter en tant qu'utilisateur root
$ ssh root@localhost
Entrez le mot de passe administrateur
$ vi /etc/passwd
Remplacez la ligne dans le fichier
nom d'utilisateur: x: 100: 100: utilisateur:/home/utilisateur:/sbin/nologin
à
nom d'utilisateur: x: 100: 100: utilisateur:/home/utilisateur:/bin/bash
Déconnectez-vous et connectez-vous. Il affichera à nouveau l'utilisateur