Ich habe dies und das gelesen und festgestellt, dass mein Problem anders und spezifischer ist.
Ich verstehe die folgenden Punkte.
- + x im Verzeichnis gewährt Zugriff auf Dateien inodes über dieses bestimmte Verzeichnis
- Metainformationen einer Datei, die von verwendet wird
ls -l
, werden in ihrem i-Knoten gespeichert, aber der Dateiname gehört nicht dazu
Von den beiden oben genannten Punkten sollte, da ls
ohne -l
nicht auf die i-Knoten der Dateien im Verzeichnis zugegriffen werden muss, die Dateinamen erfolgreich aufgelistet und 0 zurückgegeben werden.
Als ich es auf meinem Computer ausprobierte, wurden die Dateinamen aufgelistet, aber es gab einige Warnungen wie permission denied
, und der Rückkehrcode ist 1.
b03705028@linux7 [~/test] chmod 500 permission/
b03705028@linux7 [~/test] ls --color=no permission/
f1*
b03705028@linux7 [~/test] chmod 400 permission/
b03705028@linux7 [~/test] ls --color=no permission/
ls: 無法存取 'permission/f1': 拒絕不符權限的操作
f1
b03705028@linux7 [~/test] echo $0
bash
Die chinesischen Schriftzeichen sprechen grundsätzlich darüber permission denied
Meine Unix-Distribution ist Linux 4.17.11-arch1
echo $0
überprüfe, ob ich auch benutze bash
. Darf ich fragen, welche Unix-Distribution Sie verwenden? Ich habe das Problem so aktualisiert, dass es die von mir verwendeten Befehle enthält.
/bin/ls
direkt laufen ? Es ist sehr wahrscheinlich, dass Sie einen Alias oder eine Funktion in Ihrer Shell haben, die versucht, Dateistatistiken abzurufen. Das *
am Ende f1
lässt mich denken, dass es die -F
Flagge gibt
ls
Alias ist und das -F
Flag verwendet, um die Füllungen zu klassifizieren, siehe ls
(1). Dies würde versuchen, darauf zuzugreifen f1
, um es zu klassifizieren und ein Sternchen anzuhängen. Mit ls --color=no
nur an den Alias anhängen. Versuchen Sie es command ls
stattdessen. Ich benutze ArchLinux, sollte keinen Unterschied machen.
rm -rf lala; mkdir lala; chmod 400 lala; command ls lala
ist für mich erfolgreich. Das stelltcommand
nur sicher, dass kein Alias vonls
verwendet wird. Könnten Sie bitte Ihre Frage mit den genauen Befehlen erweitern, die Sie eingeben, um das Problem anzuzeigen? (dh machen Sie eine minimale Arbeitsdemonstration von dem, was Sie beobachten)