Comment est-il possible que je ne puisse pas me connecter en tant que root par su root
ou su
(j'obtiens une erreur de mot de passe incorrect), mais que je peux me connecter par ssh root@localhost
ou ssh root@my_local_IP
avec le même mot de passe?
J'utilise CentOS 6.4.
Update1 :
cat /etc/pam.d/su
donne:
#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so
Update2 :
$ sudo grep su /var/log/secure | grep -v sudo
donne:
Feb 23 13:12:17 fallah su: pam_unix(su:auth): authentication failure;
logname=fallah uid=501 euid=501 tty=pts/0 ruser=fallah rhost= user=root
répété environ 20 fois.
centos
login
authentication
su
Alireza Fallah
la source
la source
/etc/securetty
(cp /etc/securetty{,.old}; : > /etc/securetty
). Si cela ne fonctionne toujours pas, fournissez le contenu de/etc/pam.d/su
.ssh 192.168.1.218
Vous vous connectez sûrement avec vous-même? Pour vous connecter en tant que root via, vousssh
auriez normalement besoin dessh [email protected]
oussh root@localhost
.echo $$
), ouvrez (par exemple viassh
) un shell racine (nécessaire pour tracer les binaires SUID) et démarrezstrace
pour ce shell:strace -o su.strace -p 12345 -f
et recherchez des erreurs étranges avant le message d'erreur. Ou copiez les 30 dernières lignes avant le message d'erreur dans votre question si vous n'êtes pas familier avec ce type de sortie.Process 11736 attached - interrupt to quit
chmod 4755 /bin/su
pour résoudre ce problème.Réponses:
Dans votre commentaire, vous avez dit qu'il
/bin/su
a le mode / propriétaire suivant:Ici, nous avons deux problèmes.
il doit avoir le bit set-uid activé, afin qu'il s'exécute toujours avec les autorisations root, sinon, lorsqu'un utilisateur ordinaire (non root) l'exécute, il n'aura pas accès aux informations de mot de passe
/etc/shadow
ni à la possibilité de définir le id_utilisateur au nouvel utilisateur souhaité.il devrait avoir les bits d'écriture
group
etother
désactivés, afin que les autres utilisateurs ne puissent pas les modifier.Pour résoudre ce problème, connectez
root
-vous en - vous avez dit que vous pouvez le faire avecssh
- et tapezOu bien,
(Le document sur les normes de chmod donne plus de détails sur les types d'arguments qu'il prend.) Cela restaurera les bits de mode tels qu'ils étaient lors de la première installation du système d'exploitation. Lorsque vous répertoriez ce fichier, il devrait ressembler à ceci:
Comme l'a noté @ G-Man, les fichiers en mode 777 peuvent être remplacés par des utilisateurs non fiables, et si tel est le cas, vous pouvez les réinstaller à partir du support de distribution ou des sauvegardes.
la source
chmod 755 /bin/su
quoi servent les 4 supplémentaires ?4
dans la première position représente l'autorisation set-uid. J'ai modifié ma réponse pour ajouter une autre façon d'utiliser chmod en utilisant des noms symboliques pour les bits d'autorisation. Espérons que ce sera plus clair.chmod -R 777 /bin
par erreur, et c'est pourquoi j'ai été maudit: Drpm
pour restaurer les autorisations de fichier, mais je ne l'ai pas essayé.1. groupe de roues?
Cela est probablement dû au fait que votre ID utilisateur ne fait pas partie du
wheel
groupe. Sur les distributions Red Hat, vous pouvez explicitement interdire aux utilisateurs qui ne font pas partie de ce groupe d'exécuter lasu
commande.Voici à quoi
su
ressemble la configuration PAM par défaut:Cette ligne peut limiter l'accès à la
su
commande aux utilisateurs duwheel
groupe:D'après le son, cela est activé et votre ID utilisateur n'est pas autorisé à exécuter la
su
commande.SSH fonctionne car il passe par un mécanisme PAM différent. SSH dispose également de ses propres installations pour limiter l'accès aux connexions root également. Les connexions root sont généralement autorisées par défaut, au moins sur la plupart des distributions Red Hat:
Même si ce qui précède est commenté, c'est la valeur par défaut, et c'est ainsi qu'OpenSSH montre que c'est le paramètre par défaut dans les configurations.
Travailler avec ça?Si votre système est configuré comme ceci, vous pouvez ajouter votre nom d'utilisateur au
wheel
groupe.Après vous être déconnecté et reconnecté:
REMARQUE: mon ID utilisateur est "saml" ci-dessus.
2. Autorisations à droite sur su?
Vérifiez que l'exécutable appartient à root.
Vérifiez également que les exécutables ont leurs
s
bits activés. Cela les rend setuid, de sorte que lorsqu'ils sont exécutés, ils s'exécutent en tant que root.3. Que disent les journaux?
Lorsque vous tentez d'exécuter la
su -
commande, vous devriez voir des entrées à/var/log/secure
propos de la tentative.Consultez ce journal pour voir si vous obtenez des informations supplémentaires.
4. Êtes-vous sûr que le mot de passe n'est pas le problème?
Lorsque j'essaie de me connecter avec,
su -
j'obtiens ce qui suit lorsque je lui donne un mot de passe incorrect:J'essaierais de créer un autre compte et de voir si ce compte secondaire peut fonctionner
su -
correctement.la source
usermod -a -G wheel my_username
et le résultat degroups
estfallah wheel
. Donc le résultat decat /etc/pam.d/su
est maintenant dans ma question, ET, encore une fois, je ne peux pas me connecter en tant que root par la commande su !!!/var/log/secure
:Feb 24 10:19:45 fallah su: pam_unix(su:auth): authentication failure; logname=fallah uid=501 euid=501 tty=pts/2 ruser=fallah rhost= user=root
/var/log/secure
su: incorrect password
- et le mot de passe est correct, car je peux me connecter avec le même mot de passe dans SSHsu alireza
, et encore le même problèmeSi vous obtenez un message d'erreur comme celui-ci
Effectuez cette étape:
Essayez ensuite su. Ça devrait marcher.
la source