Es gibt Zip-Programme, die können beim Zippen sogar die exakten Dateirechte mit einkapseln. Beim Entpacken werden diese dann wieder 1:1 auf die Datei/den Ordner angewendet. Kenne das aktuell nur bei Windows NTFS-Rechten...
Kann man sowas auch mit Python-Bordmitteln machen? Also für Windows schließe ich da mal die win32 Extensions mit ein. Kann man die Dateirechte dann irgendwie pickeln, um sie später (z.B. nach dem Kopieren auf einen anderen Rechner) wieder anzuwenden? Bei Windows stelle ich mir das sehr schwierig vor, v.a. auch weil man Rechte vererben kann etc.
Bei Linux geht das noch solange einfach, wie keine ACLs im Spiel sind. Benutzer und Gruppe sind auslesbar... Rechte weiß ich nicht. Für den einfachen Fall könnte man sowas also in einer Textdatei festhalten. Bei ACLs geht das sicher nicht mehr so einfach.
Hat da jemand mehr Ahnung als ich?
Dateirechte einkapseln und wieder schreiben
tar unterstützt (zumindest unter Linux) das Archivierung von Rechten bei Dateien und Verzeichnissen. Dazu gibt es da tarfile Modul in der Standardbibliothek, dessen Dokumentation dieses Feature übrigens gleich am Anfang erwähnt.droptix hat geschrieben:Bei Linux geht das noch solange einfach, wie keine ACLs im Spiel sind. Benutzer und Gruppe sind auslesbar... Rechte weiß ich nicht. Für den einfachen Fall könnte man sowas also in einer Textdatei festhalten. Bei ACLs geht das sicher nicht mehr so einfach.
Wie es unter Windows aussieht, weiß ich nicht.
Ich möchte kein Zip oder so erstellen, sondern nur die Funktion "Dateirechte speichern" umsetzen. Das Beispiel mit dem Zip war nur zur Verdeutlichung, um was es genau geht...
Mal Häppchenweise:
1) Kann ich unter Linux Dateirechte mit Python erfahren (ohne externe Commandline-Tools)? Also ganz einfach z.B. owner-read/write/execute, group-read/write/execute und public-read/write/execute?
2) Weiß jemand ob die win32 Extensions NTFS-Rechte auslesen können?
Mal Häppchenweise:
1) Kann ich unter Linux Dateirechte mit Python erfahren (ohne externe Commandline-Tools)? Also ganz einfach z.B. owner-read/write/execute, group-read/write/execute und public-read/write/execute?
2) Weiß jemand ob die win32 Extensions NTFS-Rechte auslesen können?
droptix hat geschrieben:Ich möchte kein Zip oder so erstellen, sondern nur die Funktion "Dateirechte speichern" umsetzen. Das Beispiel mit dem Zip war nur zur Verdeutlichung, um was es genau geht...
Mal Häppchenweise:
1) Kann ich unter Linux Dateirechte mit Python erfahren (ohne externe Commandline-Tools)? Also ganz einfach z.B. owner-read/write/execute, group-read/write/execute und public-read/write/execute?
Code: Alles auswählen
statres = os.stat('/home/lunar/signature.de')
# Berechtigungen
print statres.st_mode
# Eigentümer
print statres.st_uid
# Gruppe
print statres.st_gid
Ah cool, genau das meinte ich... werde damit ein wenig rumspielen.
Unter Windows wird `st_mode` wohl nicht viel Sinnvolles ausspucken denke ich. Weiß jemand wie man die Dateirechte mit den win32 Extensions auslesen kann? Dort stell ich mir das wesentlich komplizierter vor...
Unter Windows wird `st_mode` wohl nicht viel Sinnvolles ausspucken denke ich. Weiß jemand wie man die Dateirechte mit den win32 Extensions auslesen kann? Dort stell ich mir das wesentlich komplizierter vor...
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München