Die Berechtigung zum Ausführen von „ls“ wurde verweigert

Die Berechtigung zum Ausführen von „ls“ wurde verweigert

Ich betreibe meinen Server als Root-Benutzer. Trotzdem lserhalte ich beim Ausführen des Befehls folgende Fehlermeldung:

bash: /bin/ls: Permission Denied.

Ich habe versucht, die Berechtigungen für diese Datei zu ändern, chmodaber die Berechtigung wird ebenfalls verweigert. Was ist die Ursache dafür?

Antwort1

Hierfür gibt es mehrere mögliche Ursachen.

  1. Das Dateisystem ist gemountet noexec.
  2. Beschädigung des Dateisystems, die mit fsck behoben werden muss.
  3. Das Dateisystem ist fremd und eine falsche Übersetzung der Berechtigungen führt zum Entzug von Privilegien.
  4. Im Verzeichnis, das die Binärdatei enthält, ist das Ausführungsbit nicht gesetzt (was zu einem Problem beim Durchlauf führt).
  5. In einem Unterverzeichnis des Verzeichnisses ist das Ausführungsbit nicht gesetzt (gilt nur, wenn die Binärdatei in mehr als einem Verzeichnis verschachtelt ist).
  6. In der Binärdatei sind die Lese- und Ausführungsbits für Ihre Benutzer-ID oder Gruppen-ID nicht gesetzt.
  7. Sie sind nicht wirklich root (UID 0), auch wenn der Kontoname lautet root. Dies ist zwar unwahrscheinlich, aber möglich. Beachten Sie, dass dies rootnicht 100 % dasselbe ist wie UID 0, eine „spezielle“ ID, die Berechtigungsprüfungen umgeht. Das rootKonto ist jedochzugeordnetauf UID 0.
  8. SELinux/grsecurity-Regeln verweigern alles. (danke, Janne Pikkarainen! hatte wegen dieser Unannehmlichkeit eine kleine mentale Blockade.)
  9. Eine oder mehrere Binärdateien sind kompromittiert. In diesem Fall können Sie nichts, was Sie ausführen, vertrauen.

Um wirklich zu verstehen, was passiert, sind weitere Informationen erforderlich.

verwandte Informationen