mandrake->plus de droits (apache/mysql) - resolu - Divers - Linux et OS Alternatifs
Marsh Posté le 26-12-2005 à 16:28:39
han, j'ai plus de droits sur rien du tout, même en root, sudo ne fonctionne plus, su non plus
c'est la super merde
Marsh Posté le 26-12-2005 à 16:31:09
Citation : chown -R 0 /etc /var /opt |
je n'arrive pas à comprendre pourquoi on retire les droits de lecture à root (ID: 0) !
en fait l'ID du propriétaire de /etc et /var /opt est 0 (normalement root)
il existait un script permettant de remettre les droits par défaut par contre je te conseille avant tout, de booter sur une knoppix ou un liveCD pour remettre en état les répertoires /etc (chown -R root /etc )
Marsh Posté le 26-12-2005 à 16:37:45
en fait je n'ai plus accès à rien, y compris à /bin etc...
Marsh Posté le 26-12-2005 à 16:41:37
Citation : et ce script, tu saurais où je peux le trouver? |
je me souviens d'un script lancé par cron, qui remettait automatiquement les droits (non disponible sur ma debian ). Si tu en as besoin rapidement -> passe par un liveCD et monte la partition "/" pour changer les droits d'accès.
Marsh Posté le 26-12-2005 à 16:51:49
après reflexion voilà ce que tu as fait :
- le propriétaire des fichiers et dossier de /etc /var /opt est l'ID 0 (normalement root, il faut le verifier dans le fichier /etc/passwd)
- chmod 0600 /etc /opt -> seul le propriétaire (root) peut lire et écrire dans les dossier /etc et /opt
Alors pourquoi ces opérations ont foiré :
- peut être que root n'a pas l'ID 0 , avec une knoppix, tu édites le fichier /etc/passwd
- les dossiers n'ont pas apprécié de passer en lecture/ecriture (l'exécution étant retirée) on ne peut plus les lister. J'ai essayé cette manip, root arrivait cependant à lister le contenu d'un répertoire sans exécution.
Marsh Posté le 26-12-2005 à 17:03:33
bah là je n'ai plus rien.
J'ai booté sur une version de knoppix mais je ne peux pas monter les partitions (disque SCSI en ext3). je vais télécharger une autre version, mais pour l'instant il ne boot même plus, et le seul CD de mandrake que j'ai c'est mandriva
Marsh Posté le 26-12-2005 à 17:05:23
par hasard, il n'existe pas un truc similaire à windows avec mandrake : la réparation sans suppression?
Marsh Posté le 26-12-2005 à 17:09:52
en bootant avec la mandrake, tu peux accéder à un menu ("rescue" je crois) où tu peux monter tes partitions et accéder à un shell.
Marsh Posté le 26-12-2005 à 17:12:00
sachant que je n'ai qu'un CD mandriva, est-ce que je risque qqchose?
également, puisque je n'ai plus accès à rien, que ce soit /etc ou /bin ou autre, comment est-ce que je peux faire pour récupérer un boot et au moins arriver à ouvrir une session en root?
Marsh Posté le 26-12-2005 à 17:17:13
Citation : sachant que je n'ai qu'un CD mandriva, est-ce que je risque qqchose? |
non puisque c'est uniquement un problème de permissions sur /etc /opt et /var
Tu bootes avec le CD de la Mandriva puis tu tapes "rescue" au lieu de "linux" (ou touche entrée) puis tu montes la partition "/"
Ensuite tu devras verifier les permissions de tes répertoires etc avec "ls -l" et examiner que l'ID root est bien en 0 (fichier etc/group et etc/passwd)
Marsh Posté le 26-12-2005 à 17:21:28
ok j'vais essayer ça.
En fait, ça touche bien plus que /etc : ça touche l'ensemble du disque parce qu'entre temps j'ai refait une connerie :
http://soft.zoneo.net/Linux/index. [...] =3&lang=en
comme un con je l'ai fait en étant positionné sur /
maintenant quand je boot j'obtiens un kernel panic
Marsh Posté le 26-12-2005 à 17:32:37
hum
si tu pouvais booter il y avait l'outil msec de mandriva qui aurait permit de rétablir les permissions mais là
je ne sais pas si tu peux t'en servir te chrootant .
sinon essayes péniblement de rétablir un peu de droit partout
Marsh Posté le 26-12-2005 à 17:34:55
alors grace à jlightly je peux à nouveau booter, et ouvrir une session gui en root.
Par contre pas d'accès SSH, des repertoires dans /var qui ne fonctionnent pas et pas d'accès root en console : message = accès refusé
Si j'ouvre une session console en tant qu'utilisateur lambda ça fonctionne, par contre si je fais su : marche pas : impossible d'ouvrir les comptes de sécurité, et en sudo il me dit que ça ne marche pas non plus
Marsh Posté le 26-12-2005 à 17:40:46
en fait je ne le connait pas très bien
je sais juste que c'est un 'truc' qui fixe les permissions de sécurité en fonction d'un niveau choisi
cf http://club.mandriva.com/xwiki/bin [...] AConnaitre
je pense donc qu'en l'utilisant il doit etre possible de remettre en place les bons droits un peu partout
le petit souci dans ton cas c'est lorsqu'on lit le man ...
Citation : msec - Outils de sécurité Mandriva Linux |
Marsh Posté le 26-12-2005 à 17:41:41
Citation : si tu pouvais booter il y avait l'outil msec de mandriva |
Oui c'était à ce programme que je pensais
Citation : des repertoires dans /var qui ne fonctionnent pas et pas d'accès root en console |
je suppose qu'en bootant avec le CD, les répertoires dans /var n'ont pas la permission de s'exécuter. Une chose que tu pourrais faire (à tes risques et périls) passer tous tes dossiers en 777 puis grâce à msec, il redonnera les bonnes permissions (755 pour les dossiers...)
Marsh Posté le 26-12-2005 à 17:47:22
alors je boot tout correctement, sauf certains daemons (sshd par ex)
le message d'erreur pour sshd c'est : le repertoire /var/empty ne doit pas avoir les droits lecture/modification pour tout le monde.
sudo ne fonctionne pas non plus, il me dit que sudo doit avoir les setuid root
et enfin j'ai modifié draksec pour abaisser le niveau de sécu, par contre msec je l'ai lancé mais ça ne fait rien du tout
j'vais regarder s'il n'y a pas autre chose à faire avec
en tout cas merci bcp
Marsh Posté le 26-12-2005 à 17:50:43
si j'ai bien compris msec c'est un programme qui tourne régulièrement et s'assure que les autorisations sont les bonnes sur les dossiers et fichiers.
Donc je peux imaginer que sans rien faire il va me remettre tout comme il faut, où pas?
parce qu'en fait c'est vraisemblablement au niveau de /var que j'ai plein de problèmes
Marsh Posté le 26-12-2005 à 17:57:09
msec est appelé par cron, tu peux accélérer la procédure en exécutant l'entrée de la crontab dédiée à msec.
Marsh Posté le 26-12-2005 à 17:57:34
oui.
mais en théorie en lançant msec il devrait vérifier les permissions immédiatement .
(sauf si il ne peut pas se lancer a cause de problèmes de permission ).
Après je n'en sais malheureusement pas plus.
Si dark_scheinder passe par là ...
Marsh Posté le 26-12-2005 à 17:59:19
si c'est bon, je l'ai lancé, ça remarche pour presque tout, j'en ai fait à la main et puis msec doit faire le reste. SSH refonctionne, sudo aussi.
Par contre il me reste un bug lié à mon serveur apache/mysql : derrière j'ai un plugin ldap bien caché qui lui ne se lance pas a priori
Marsh Posté le 26-12-2005 à 18:01:51
j'ai trouvé : j'ai des dossiers que seul root peut afficher
pour éviter les conneries, vous pouvez me dire quoi faire?
en root :
total 32 |
en pas root :
total 16 |
Marsh Posté le 26-12-2005 à 18:02:24
il ne te reste plus qu'à examiner les logs d'apache pour voir pourquoi le module ldap n'est pas chargé ou d'ajouter le module dans httpd.conf
Marsh Posté le 26-12-2005 à 18:03:23
Krapaud a écrit : j'ai trouvé : j'ai des dossiers que seul root peut afficher |
quel est le nom de l'utilisateur apache ? www-data ?
Marsh Posté le 26-12-2005 à 18:03:35
c'est lié à cette histoire de droits, mais vu mon niveau d'incompétence je préfèrerais que vous me guidiez si possible
Marsh Posté le 26-12-2005 à 18:04:05
jlighty a écrit : quel est le nom de l'utilisateur apache ? www-data ? |
pas la moindre idée, je pense que c'est l'utilisateur par défaut
Marsh Posté le 26-12-2005 à 18:04:36
dans /etc/passwd quel est le nom dédié au daemon apache ? (www-data peut être)
Marsh Posté le 26-12-2005 à 18:05:27
en fait l'idéal (pour moi ) est d'avoir des fichiers n'appartenant pas a l'utilisateur sous lequel tourne ton serveur web dans un premier temps :
en cas de faille au moins les fichiers ne seront pas effacés
en suite il faut accorder la lecture de ces fichiers et éventuellement l'écriture sur certains répertoires lorsque cela est nécessaire .
Marsh Posté le 26-12-2005 à 18:07:11
mikala a écrit : en fait l'idéal (pour moi ) est d'avoir des fichiers n'appartenant pas a l'utilisateur sous lequel tourne ton serveur web dans un premier temps : |
j'en conviens. Le seul soucis c'est que je n'ai pas monté ce serveur et le presta n'a pas du se faire chier vu qu'il connaissait linux à peut près autant que moi. J'pense qu'il n'y a pas de gestion de droit, le blocage étant ces dossiers invisibles aux autres que root
Marsh Posté le 26-12-2005 à 18:07:47
donc tu fais :
chown -R apache /var/www/html
puis chgrp -R apache /var/www/html
chmod -R 755 /var/www/html
par contre il faudra surement rebasculer les fichiers en 644, avec un "find -type f" ça devrait être possible
Marsh Posté le 26-12-2005 à 18:12:00
jlighty a écrit : donc tu fais : |
je conserve mon erreur
en fait avant tous les fichiers étaient accessible par tous les utilisateurs
et dans mon site web j'ai ça :
Cannot bind to : cn=mandrake,ou=blabla,dc=youpi,dc=tropcool,dc=com |
Marsh Posté le 26-12-2005 à 18:16:16
peut être que l'utilisateur "apache ?" n'a pas l'autorisation de se logguer sur ton annuaire LDAP ?
tu arrives à te logguer en administrateur sur ton annuaire ?
Marsh Posté le 26-12-2005 à 18:17:17
je ne suis pas sur que ce soit lié a un problème de droit ici,
en tout cas d'après le message d'erreur donné .
Marsh Posté le 26-12-2005 à 18:17:50
en fait le module ldap se connecte à mon active directory. Mais il doit y avoir un fichier de conf dans tout ces dossiers qui contient les paramètres de connexion à l'active directory
Marsh Posté le 26-12-2005 à 18:22:06
je l'ai trouvé, effectivement les droits étaient erronés sur le fichier, seul root pouvait y accéder.
J'ai fait le chown, chgrp et chmod comme tu m'avais dit de faire sur le dossier html et là ça remarche
merci beaucoup à vous deux
Marsh Posté le 26-12-2005 à 16:20:55
'lo : suite à l'installation d'un logiciel où j'ai un peu suivi bêtement les indications, j'ai modifié recursivement les droits sur les repertoires /etc, /var et /opt avec notamment :
chown -R 0 /etc /var /opt
chmod 0600 /etc /opt
(...)
bref mon serveur apache/mysql ne me renvoie plus que des erreurs. Savez vous comment je peux revenir en arrière?
Le serveur est en mandrake 10 et en root je n'ai plus les droits sur rien :
exemple :
bash: /bin/ls: Permission denied
bash: /bin/chmod: Permission denied
aidez-moi
Message édité par Krapaud le 26-12-2005 à 18:22:24