Commande su impossible [Résolu/Fermé]

Signaler
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007
-
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007
-
Bonjour a tous,
J'ai un serveur sous redhat 8 et depuis quelque temps je n'arrive plus a a me logger sous un autre utilisateur que le root. Pourtan root sur la machine, des que je fais su user il me met:

su: /bin/bash: Permission non accordee.

Je voudrais savoir qu'elle solution apliquer pour permetre a d'autre utilisateur de se logger.

Merci d'avance et bonne continuation.
Ps : s'il a deja eu d'autre article de ce genre je ne les pa trouver je serai tres reconnaissant de m'indiquer ou les trouver.Merci

34 réponses

Messages postés
5493
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
26 avril 2021
933
Salut gmania971,

Et si tu fais

su - user

celà change-t-il quelque chose ?

Quand to te logues directement sous un user, le fais-tu sur le terminal physique ou avec un accès distant ssh, telnet... ? As-tu un message d'erreur ?


Dal
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

Merci de ta reponse, j'ai essayer su - user mais cela ne change rien, et mon probleme est su pareil que ce soit sur le terminal phisyque et quand j'essai de me connecter en ssh.
Merci.
Messages postés
5493
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
26 avril 2021
933
Vérifie les permissions sur "bash". Celà doit se trouver sur "/bin/bash" (sinon cherche avec "which bash").

ls -l /bin/bash

Dis nous ce que celà dit.

As-tu autre chose que "-rwxr-xr-x" (755) ?


Dal
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

J'ai verifier les droits sur /bin/bash est bien 755.
Merci.
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

Que me reste t- il a verifier pour savoir ce qui cloche dans le fichier /bin/bash ou ailleurs jpense bien que c'est un probleme de droit mais ou chercher c'est autre chose.
Merci d'avance
seul les memebre du groupe wheel ont droit à lancer "su"

ajoutes les utilisateurs qui aurront l'autorisation de le faire dans ce groupe c'est tout je crois ce que tu as à faire.
Messages postés
5493
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
26 avril 2021
933
le problème de gmania971 est qu'il ne peut pas faire un "su - user" (et non pas un "su - root").

Egalement, d'après ce que je comprends, le problème de l'échec du login en tant que user est le même lorsque gmania971 essaye à partir de la console physique en login direct en tant que user. Est-ce bien çà gmania971 ?

Le problème apparaîtrait donc indépendamment de l'usage de "su".


Dal
Messages postés
5493
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
26 avril 2021
933
Il est arrivé quelque chose de bizarre à ta machine... non ?

Je suppose que tu as déjà vérifié les permissions du répertoire home de ton user.

Tu peux aussi vérifier les permissions des librairies dont "bash" dépend :

ldd /bin/bash

Vérifie pour chacune des librairies que "group" et "others" ont bien des droits de lecture (et des droits d'exécution s'ils sont accordés au "user" qui doit être root). Si ce sont des liens symboliques, suis les pour vérifier les permissions des fichiers pointés.

Les librairies devraient se trouver sous /lib

Pour essayer de voir aussi si tu peux contourner le problème : tu pourrais modifier les entrées /etc/passwd de tes users pour spécifier un autre shell que /bin/bash (si tu en as un autre sous la main).


Dal
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

Merci de ces reponses,
je suis qu'en root et il effectivement impossible aux autre utilisateur de se connecter avec leur login et aller sur leur dossier home ou autre en ssh ou meme sur la machine en direct. J'ai a chaque fois le message ci-dessus.
Merci
Messages postés
5493
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
26 avril 2021
933
As-tu lu le post <7> ?


Dal
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

J'ai verifier les librairies et il ont bien des droits de lecture et d'ecriture pour les users qui peuvent etre root mais la derniere chose expliqu moi plus en detail je suis novice sous linux.

Pour essayer de voir aussi si tu peux contourner le problème : tu pourrais modifier les entrées /etc/passwd de tes users pour spécifier un autre shell que /bin/bash (si tu en as un autre sous la main).
Messages postés
5493
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
26 avril 2021
933
Re gmania971 ,


"bash" est un shell ou un interpréteur de commandes.

Il est lancé après le "login" car tes utilisateurs ont dû être créés avec ce shell par défaut. Edite le fichier /etc/passwd et regarde les lignes concernant les utilisateurs, le shell utilisé est mentionné en fin de ligne (il doit y avoir "/bin/bash" en fin de chaque ligne).

Sur ta machine, vérifie si tu as d'autres shells installés, par exemple csh, en tapant :

which csh

Disons que cette commande retourne "/bin/csh", ce qui signifie que ce shell est sur ta machine (si rien n'est retourné essaye lcsh, tcsh, zsh, éventuellemnt sh aussi, mais ce dernier est parfois un lien symbolique vers bash).

Fais une copie de ton /etc/passwd

cp /etc/passwd /etc/passwd.bak

Ouvre le fichier "/etc/passwd" avec un éditeur.

Sur un user de ton choix, remplace "/bin/bash" par "/bin/csh" (ou par le shell que tu veux tester).

Réessaye ton "su" ou ton login sur ce "user".


Dal

P.S. : ton message d'erreur lorsque tu essayes de te loguer en tant qu'utilisateur sur la console physique est-il vraiment "su: /bin/bash: Permission non accordee" ? (y a-t-il vraiment "su" dans le message) + qu'arrive-t-il après ? reçois-tu de nouveau une invite login ? autre chose ?
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

Merci Dal mais j'ai la meme chose avec csh, jpense que c'est autre chose, enfin je crois jvoterai plus pour des droit mais ou je sai pas.
Merci
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

Merci, jvai essayer pour voir, et oui c'est bien ce qu'il me donne comme message d'erreur. Il a bien:

root@toorre:/bin$su user
su: /bin/bash: Permission non accordée
root@toorre:/bin$

Merci
Messages postés
5493
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
26 avril 2021
933
Non, çà c'est lorsque tu fais "su" alors que tu es déjà logué en root.

Ce que je te demande c'est le message d'erreur lorsque tu tentes de te loguer directement en user à partir de ta console physique.

Au lieu de taper :

login: root

tu tapes

login: user


Dal
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

Il me met comme message d'erreur:


login : no shell : Permission denied
login:
Merci
Messages postés
5493
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
26 avril 2021
933
Bon, reprenons.

Essaye de répondre à ma question ci-dessus +

De plus, tu me disais...

J'ai verifier les librairies et il ont bien des droits de lecture et d'ecriture pour les users qui peuvent etre root

Je n'ai compris ce que tu as dis là... du coup je ne suis pas sûr de ce que tu as vérifié.

Tiens, voilà ce que celà donne sur une Fedora Core 2 et le type de choses à vérifier :

[root@fc2 /]# ldd /bin/bash
        linux-gate.so.1 =>  (0x00758000)
        libtermcap.so.2 => /lib/libtermcap.so.2 (0x00fcd000)
        libdl.so.2 => /lib/libdl.so.2 (0x00111000)
        libc.so.6 => /lib/tls/libc.so.6 (0x005b6000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x0057f000)
[root@fc2 /]# ls -l /lib/libtermcap.so.2
lrwxrwxrwx  1 root root 19 May 27  2004 /lib/libtermcap.so.2 -> libtermcap.so.2.0.8
[root@fc2 /]# ls -l /lib/libtermcap.so.2.0.8
-rwxr-xr-x  1 root root 11256 May  7  2004 /lib/libtermcap.so.2.0.8
[root@fc2 /]# ls -l /lib/libdl.so.2
lrwxrwxrwx  1 root root 14 May 27  2004 /lib/libdl.so.2 -> libdl-2.3.3.so
[root@fc2 /]# ls -l /lib/libdl-2.3.3.so
-rwxr-xr-x  1 root root 15008 May 11  2004 /lib/libdl-2.3.3.so
[root@fc2 /]# ls -l /lib/tls/libc.so.6
lrwxrwxrwx  1 root root 13 May 27  2004 /lib/tls/libc.so.6 -> libc-2.3.3.so
[root@fc2 /]# ls -l /lib/tls/libc-2.3.3.so
-rwxr-xr-x  1 root root 1451868 May 11  2004 /lib/tls/libc-2.3.3.so
[root@fc2 /]# ls -l /lib/ld-linux.so.2
lrwxrwxrwx  1 root root 11 May 27  2004 /lib/ld-linux.so.2 -> ld-2.3.3.so
[root@fc2 /]# ls -l /lib/ld-2.3.3.so
-rwxr-xr-x  1 root root 105708 May 11  2004 /lib/ld-2.3.3.so


Les utilisateurs et groupes de ces librairies sont root:root. Tu dois vérifier le fichier pointé par le lien symbolique ("->" indique le "vrai" fichier pointé par le lien) pour visualiser les permissions effectives ("-rwxr-xr-x" en gras ci-dessus, "lrwxrwxrwx" se rapporte au lien symbolique).

Ton résultat sera différent, RedHat 8 étant plus ancien, mais c'est ce type de vérifications que tu dois faire.

Seul root a des droits d'écriture sur les fichiers concernés. Les utilisateurs ont les mêmes droits que root à l'exception des droits d'écriture.

Poste nous ce que tu trouves.


Dal
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

Voila ce que je trouve :

ldd /bin/bash
libtermcap.so.2 => /lib/libtermcap.so.2 (0x40027000)
libdl.so.2 => /lib/libdl.so.2 (0x4002c000)
libc.so.6 => /lib/tls/libc.so.6 (0x42000000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
root@toorre:~$ls -l /lib/libtermcap.so.2
lrwxrwxrwx 1 root root 19 jan 14 2004 /lib/libtermcap.so.2 -> libtermcap.so.2.0.8
root@toorre:~$ls -l /lib/libtermcap.so.2.0.8
-rwxr-xr-x 1 root root 11784 fév 4 2003 /lib/libtermcap.so.2.0.8
root@toorre:~$ls -l /lib/libdl.so.2
lrwxrwxrwx 1 root root 14 jun 8 2004 /lib/libdl.so.2 -> libdl-2.3.2.so
root@toorre:~$ls -l /lib/libdl-2.3.2.so
-rwxr-xr-x 1 root root 15900 nov 13 2003 /lib/libdl-2.3.2.so
root@toorre:~$ls -l /lib/tls/libc.so.6
lrwxrwxrwx 1 root root 13 jun 8 2004 /lib/tls/libc.so.6 -> libc-2.3.2.so
root@toorre:~$ls -l /lib/libc-2.3.2.so
-rwxr-xr-x 1 root root 1561228 nov 13 2003 /lib/libc-2.3.2.so
root@toorre:~$ls -l /lib/ld-linux.so.2
lrwxrwxrwx 1 root root 11 jun 8 2004 /lib/ld-linux.so.2 -> ld-2.3.2.so
root@toorre:~$ls -l /lib/ld-2.3.2.so
-rwxr-xr-x 1 root root 106400 nov 13 2003 /lib/ld-2.3.2.so
Messages postés
5493
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
26 avril 2021
933
Ces permissions semblent correctes...

Peux-tu aussi vérifié les permissions sur /lib ?

cd /
ls -l


le répertoire lib devrait être "drwxr-xr-x" (755), pour que son contenu puisse être accédé et lu par d'autres utilisateurs que root.

Fais aussi

cd /home
ls -l


pour voir.


Dal
Messages postés
5493
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
26 avril 2021
933
En fait.. il y a tout un tas de trucs qui peuvent aller de travers. Je pense tout de même que ton problème est bien un problème de permissions. Si cette hypothèse est bonne, il y a un fichier (ou tout un répertoire) qui est nécessaire au processus de login et dont les permissions ont pu être changées et qui n'est pas lisible ou exécutable par les users alors qu'il devrait l'être.

Tu peux aussi essayer :

ls -l /etc/passwd
ls -l /etc/shells
cat /etc/shells
(bash doit être listé dedans)

Pour un des users, fait

cd /home/user
ls -al


Voir en particulier les permissions des fichiers .bash*

Voir aussi ce que nous disent les logs

cat /var/log/messages

Regarde vers la fin, les messages d'erreur relatifs au login.

C'est tout ce qui me vient pour le moment :)


Dal
regardes les droits du répertoire /bin
il faut mettre les droits x aux users (755), sinon, tu ne pourras exécuter aucune commande de ce répertoire
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

drwxr-xr-x 9 root root 4096 jui 12 12:02 lib

Pour le dossier home il sont tous en 770 drwxrwx--- mais il sont dans le group d'un user par exemple
drwxrwx--- 5 viteri titor 4096 mai 3 2004 viteri -> normalement sa doit pas etre titor mais viteri pour le group et cela est pour chaque dossier perso dans home.

Ensuite j'ai -rw-r--r-- 1 root root 8876 aoû 8 15:14 /etc/passwd

/bin/sh
/bin/bash
/sbin/nologin
/bin/bash2
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh

-rwxrwx--- 1 181 jui 11 12:03 .bash_history
-rwxrwx--- 1 24 jun 29 14:16 .bash_logout
-rwxrwx--- 1 191 jun 29 14:16 .bash_profile
-rwxrwx--- 1 124 jun 29 14:16 .bashrc
-rwxrwx--- 1 847 jun 29 14:16 .emacs
-rwxrwx--- 1 120 jun 29 14:16 .gtkrc
drwxrwx--- 3 4096 jun 29 14:15 .kde


Aug 9 09:40:22 toorre aoû 9 09:40:22 su(pam_unix)[19594]: session closed for user tester

En mettan /bin a 755 kan je fai su user il met :
I have no name!@toorre:/root$
Messages postés
2572
Date d'inscription
vendredi 1 avril 2005
Statut
Contributeur
Dernière intervention
6 septembre 2008
372
Salut,

peux tu nous dire ce que donne les commandes suivantes :
# id user
# finger -l user


Au point où tu en es, faut explorer toutes les possibilitées :)
Je cherche à savoir, si ton "user" à le droit d'écrire dans un terminal !
si finger renvoie une ligne avec : ``(messages off)'' alors l'accès au terminal lui est interdit, donc c'est peut etre un bout de réponse !
Messages postés
42
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007

Bonjour,

id tester
uid=1070(tester) gid=1073(tester) groupes=1073(casimir),4(adm),10(wheel),
560(medecin),535(logis),668(admin),669(lee),
695(aubert),697(enns),1034(deschamps),1044(abena),
1037(cesar),1045(e3a),1047(escal)
root@toorre:~$finger -l tester
Login: tester Name: (null)
Directory: /home/casimir Shell: /bin/bash
Never logged in.
No mail.
No Plan.
root@toorre:~$

Merci