Gast JulianB Geschrieben 15. Mai 2009 Teilen Geschrieben 15. Mai 2009 Hi, ich möchte von bestimmten Dateien die Berechtigungen: 1. Auslesen & in Variable speichern 2. Berechtigung auf Schreibbar ändern 3. Alte gespeicherte Berechtigung wieder zurücksetzen Das gehe ich bisher so an: # Dateiattribute auslesen my $stat = (stat($filename))[2]; # Als Oktalzahl interpretieren my $oldstat = sprintf("%04o", $stat & 07777); # Vollzugriff auf Datei setzen chmod(0666, $filename); &do_something(); # Alte Rechte zurücksetzen chmod($oldstat, $filename); Funktioniert soweit bestens _außer_ das Zurücksetzen der Berechtigungen am Ende. Die Dateien bleiben bei jedem Durchgang schreibbar, was sie nicht sollen. Da ich aber nie genau weiß welche Berechtigungen welche Datei hat, wollte ich es so lösen das ich die alten Berechtigungen oktal in $oldstat speichere und diese am Ende wieder "zurücksetze". Wo ist mein Fehler? Vielen Dank für eure Hilfe, LG JulianB Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 15. Mai 2009 Teilen Geschrieben 15. Mai 2009 (bearbeitet) Hi, chmod mit oct als Parameter. Siehe hier. my $perm="0666"; # Dateiattribute auslesen my $stat = (stat($filename))[2]; # Als Oktalzahl interpretieren my $oldstat = sprintf("%04o", $stat & 07777); # Vollzugriff auf Datei setzen chmod oct($perm), $filename; &do_something(); # Alte Rechte zurücksetzen chmod oct($oldstat), $filename; Kurz zur Erklärung: # Alte Rechte zurücksetzen chmod($oldstat, $filename); Da wird $oldstat nicht als Oktalzahl interpretiert. # Vollzugriff auf Datei setzen chmod(0666, $filename); Hier schon, deshalb klappts. ciao, vic Bearbeitet 15. Mai 2009 von bigvic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 15. Mai 2009 Teilen Geschrieben 15. Mai 2009 Alternativ sollte bei deinem Quelltext ein ... $oldstat = oct($oldstat); nach # Als Oktalzahl interpretieren my $oldstat = sprintf("%04o", $stat & 07777); ausreichen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gast JulianB Geschrieben 15. Mai 2009 Teilen Geschrieben 15. Mai 2009 You made my day! - Dankeschön Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.