web-dev-qa-db-fra.com

su ne change pas d'utilisateur mais ne répond pas non plus avec une erreur

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?

58
Wesley

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.

75
camh

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.

6
Magellan

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.

4
Alex Chamberlain

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.

0
Dom

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

0
Cherry