![Die Berechtigung zum Ausführen von „ls“ wurde verweigert](https://rvso.com/image/632752/Die%20Berechtigung%20zum%20Ausf%C3%BChren%20von%20%E2%80%9Els%E2%80%9C%20wurde%20verweigert.png)
Ich betreibe meinen Server als Root-Benutzer. Trotzdem ls
erhalte ich beim Ausführen des Befehls folgende Fehlermeldung:
bash: /bin/ls: Permission Denied.
Ich habe versucht, die Berechtigungen für diese Datei zu ändern, chmod
aber die Berechtigung wird ebenfalls verweigert. Was ist die Ursache dafür?
Antwort1
Hierfür gibt es mehrere mögliche Ursachen.
- Das Dateisystem ist gemountet
noexec
. - Beschädigung des Dateisystems, die mit fsck behoben werden muss.
- Das Dateisystem ist fremd und eine falsche Übersetzung der Berechtigungen führt zum Entzug von Privilegien.
- Im Verzeichnis, das die Binärdatei enthält, ist das Ausführungsbit nicht gesetzt (was zu einem Problem beim Durchlauf führt).
- In einem Unterverzeichnis des Verzeichnisses ist das Ausführungsbit nicht gesetzt (gilt nur, wenn die Binärdatei in mehr als einem Verzeichnis verschachtelt ist).
- In der Binärdatei sind die Lese- und Ausführungsbits für Ihre Benutzer-ID oder Gruppen-ID nicht gesetzt.
- Sie sind nicht wirklich root (UID 0), auch wenn der Kontoname lautet
root
. Dies ist zwar unwahrscheinlich, aber möglich. Beachten Sie, dass diesroot
nicht 100 % dasselbe ist wie UID 0, eine „spezielle“ ID, die Berechtigungsprüfungen umgeht. Dasroot
Konto ist jedochzugeordnetauf UID 0. - SELinux/grsecurity-Regeln verweigern alles. (danke, Janne Pikkarainen! hatte wegen dieser Unannehmlichkeit eine kleine mentale Blockade.)
- 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.