Permission Denied beim ausführen von python-Datei in linux
Arbeite ich mit meinem Raspberry Pi 2 B+ und ich bin mit Raspbian. Ich habe ein python-script befindet sich unter /home/pi/Desktop/control/gpio.py
Geben, wenn ich /home/pi/Desktop/control/gpio.py in der Kommandozeile, bekomme ich die Meldung-bash: /home/pi/Desktop/control/gpio.py Permission denied
Habe ich versucht mit sudo -s vor der Ausführung dieses Befehls auch aber das funktioniert nicht. Mein python-Skript wird mit dem Rpi.GPIO-Bibliothek.
Wenn könnte jemand bitte erklären, warum ich immer diese Fehlermeldung, es wäre zu schätzen! Danke.
gehen Sie melden sich als root an, oder versuchen Sie das umbenennen Ihrer Ordner oder eine Datei.. es ist die Datei die Berechtigung ithink
InformationsquelleAutor Cannon Moyer | 2015-10-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erhalten Sie diese Fehlermeldung, da Sie nicht die
execute
- Berechtigung auf die Datei. Es gibt zwei Möglichkeiten, es zu lösen:python gpio.py
python wird das laden der Datei zu Lesen, so dass Sie nicht brauchen, um über die execute-Berechtigung.Gewähren selbst die execute-Berechtigung. Sie tun dies durch ausführen von
chmod u+x yourfile.py
.Dies wird jedoch so nicht funktionieren, es sei denn, Sie fügen einen shebang an der Spitze Ihrer python-Programm. Es wird lassen Sie Ihr linux-wissen, welcher interpreter sollte es beginnen. Zum Beispiel:
Dieser würde versuchen zu laufen
python
mit Ihrem aktuellen$PATH
Einstellungen. Wenn Sie wissen, welche python geben, die Sie wollen, setzen Sie hier statt.Erinnere mich an die shebang muss die allererste Zeile in Ihrem Programm.
root
ich bin nicht die Berechtigung für jede Datei des Systems, hahaha.für Dateien, solange suid/sgid-bit nicht zu setzen, execute-bit ist mehr Bequemlichkeit als eine tatsächliche access control. In der Tat, können Sie ein Programm ausführen, mit nur-lese-Berechtigung, indem Sie es zu
ld.so
. Zum Beispiel auf meinem system:/lib64/ld-linux-x86-64.so.2 /bin/ls
läuft ls, unabhängig von Ihrer execute-bit. Und im schlimmsten Fall, wenn Sie Lesen können, die binären Sie konnte immer kopieren Sie es und setzen Sie die execute-bit in der Kopie. So... mal nehmen Sie es als Bequemlichkeit, es folgt, dass dies einfach ermöglicht root verwenden, die Bequemlichkeit als gut.InformationsquelleAutor spectras
tun, wie dies vielleicht arbeiten:
cd /home/pi/Desktop/control/
python gpio.py
Weil gpio.py ist nicht eine ausführbare Datei, führen Sie es durch python statt
Ich habe versucht, dies vor, vielleicht nicht. Es würde nicht so behandelt werden, als eine python-Datei, und führen zu einer Fehlermeldung wie z.B. "import: Kommando nicht gefunden"
InformationsquelleAutor 周伯威
Geben Sie diese Befehle im terminal dann ausführen:
Oder auch Versuchen, diese
InformationsquelleAutor jakir hussain