Opération non permise sous root?

Résolu
Bonjour.

J'ai beau eu tout retourner, chercher partout, aucune réponse... Si quelqu'un a une idée...:

Pourquoi, sous root, n'ai-je aucun droit d'écriture dans /usr/sbin/ ? Impossible de supprimer, de créer ou de modifier dans ce repertoire... Du coup, pas moyen d'installer quoique ce soit.

20 réponses

  1. J'essaie de faire un bete "apt-get install" . Qui m'est automatiquement refusé dès qu'il tente d'écrire dans /usr/sbin

    Un simple touch /usr/sbin/toto ne marche pas. Alors qu'un touch /usr/toto lui, fonctionne.
    4
    1. Et bien voilà. Ca venait bêtement de là.

      Pourquoi ces attributs sur ce répertoire, je ne sais pas (enfin... j'imagine quand même... j'ai pu du coup installer chkrootkit et ai eu le droit de faire mon petit ménage, suivi d'une sérieuse mise à niveau de mon iptable et de ma config sshd).

      Anyway, merci beaucoup pour votre aide! Sans ça, je crois que j'étais bon pour passer 2 jours à réinstaller tout le bazar.

      Merci, merci, et merci.
      0
      1. Modérateur
        tu n'as rien à craindre
        0
        1. # lsattr -d /usr/sbin
          suS-iadAc-------- /usr/sbin

          Rien que ça. Désolé, mais je ne connaissais pas le système de gestion de fichiers. J'ai jeté un oeil à l'instant, et je vois que le "i" est surement l'origine de mes problèmes.

          Avant de m'emballer et de faire un chattr -i /usr/sbin/ que je regretterai peut etre, quelqu'un peut il me confirmer que je peux tenter le truc sans faire exploser la boite? :)
          0
          1. /dev/sda2 on / type ext3 (rw,errors=remount-ro)

            euh je me demande s'il ne serait pas remonté ro, là, en fait

            edit: à tout hasard, fais voir un mount -o remount,rw (mais bon, ta sortie de mount me laisse plutôt penser qu'il est encore en rw)
            0
            1. vraiment à tout hasard, ça m'étonnerais mais bon...

              lsattr -d /usr/sbin

              mais bon il y a toujours une explication rationnelle

              le * à la fin de sbin dans une sortie de ls normalement c'est un suffixe qu'on a pour un exécutable quand dans LS_OPTIONS tu as l'option -F (fais echo $LS_OPTIONS). Cela dit, pour un réportoire normalement c'est plutôt un slash donc ça m'étonne
              0
              1. # su -c 'touch /usr/sbin/toto'
                touch: ne peut faire un touch sur `/usr/sbin/toto': Permission non accordée

                # echo $UID
                0

                # ls -lnd /usr/sbin
                drwxr-xr-x 2 0 0 4096 Feb 14 2007 /usr/sbin*

                (ca veut dire quoi le '*' à la fin de cette ligne?)

                # mount
                /dev/sda2 on / type ext3 (rw,errors=remount-ro)
                proc on /proc type proc (rw)
                sysfs on /sys type sysfs (rw)
                devpts on /dev/pts type devpts (rw,gid=5,mode=620)
                tmpfs on /dev/shm type tmpfs (rw)
                /dev/sda1 on /boot type ext3 (rw)

                et /usr/sbin/ est sur /dev/sda2

                Bon, même si je suis sur le point de craquer et de migrer le site sur un autre serveur, j'aimerais beaucoup comprendre le pourquoi du comment.
                0
                1. donne voir l'UID de root (en root fais echo $UID ou regarde tout simplement ton /etc/passwd) et fais voir un ls -lnd /usr/sbin

                  dis voir aussi sur quel système de fichier est /usr/sbin et les options de montage (balance nous la sortie de mount)
                  1
                  1. Modérateur
                    Salut,

                    bizarre
                    essaie cette commande
                    su -c 'touch /usr/sbin/toto'
                    --
                    lami20j
                    0
                    1. Bonjour, merci pour vos réponses. Alors:

                      # ls -ld /usr/{,sbin}
                      drwxrwxrwx 12 root root 4096 Aug 24 18:59 /usr/
                      drwxr-xr-x 2 root root 4096 Feb 14 2007 /usr/sbin

                      # cd /usr/sbin ; df .
                      Sys. de fich. 1K-blocs Occupé Disponible Capacité Monté sur
                      /dev/sda2 152752936 11115948 133877596 8% /

                      Dubcek: oui, je suis bien en root:
                      # su root
                      # touch /usr/sbin/toto
                      touch: ne peut faire un touch sur `/usr/sbin/toto': Permission non accordée
                      0
                      1. Contributeur
                        Hi

                        sur la plupart des systèmes Unx que je connais, protéger un réperoire local chmod 000 dir n'empêche pas root d'y accéder ou d'y créer et détruire des fichiers. est-tu bien en root ?
                        1
                        1. Modérateur
                          Salut,

                          dans ce cas tu peut le midifier les drit de lecture, ecriture et la supression
                          il ne s'agit pas de ce que root peut faire, mais de ce que root doit faire ;-) c'est une grande différence

                          deboursaux affiche les résultats des commandes que je t'ai demandé ainsi que les commandes de dubcek
                          1
                          1. pour les droits d'écriture dans /usr/sbin/ il faut acceder comme super utilisateur avec votre mot de pass comme superutilisateur
                            dans ce cas tu peut le midifier les drit de lecture, ecriture et la supression
                            1
                            1. Contributeur
                              que répond
                              cd /usr/sbin ; df .
                              1
                              1. Modérateur
                                Salut,

                                affiche
                                ls -ld /usr/{,sbin}
                                1
                                1. Pour résumer:
                                  #su root
                                  #touch /usr/sbin/toto
                                  touch: cannot touch `/usr/sbin/toto': Permission denied
                                  #whoami
                                  root

                                  Voilà. A noter que évidemment (et heureusement), le contenu de /usr/sbin/ est lisible et executable. Ainsi, marchent:
                                  #ls /usr/sbin/
                                  #adduser (dont l'executable est dans /usr/sbin/)

                                  voili voila
                                  1
                                  1. Modérateur
                                    alors affiche ici exactement ce que tu fais (fais un copier coller de ce que tu as à l'écran)

                                    affiche aussi
                                    whoami 

                                    1
                                    1. Je suis sous Ubuntu

                                      Bien vu le "au cas ou", mais non. Je lancais bien l'affaire sous root.
                                      2
                                      1. Modérateur
                                        Tu es avec Ubuntu ou Debian?

                                        au cas où
                                        sudo aptitude install ton_programme
                                        --
                                        lami20j
                                        2
                                        1. Modérateur
                                          Salut,

                                          tu n'as rien à faire manuellement dans /usr/bin
                                          dit d'abord ce que tu essaies de faire et on verra après ce qu'on pourra faire pour toi
                                          1