theo hat geschrieben:_Bernd hat geschrieben:
Oder mache ich irgendwo einen Denkfehler?
Ja, das ist der Modus, wie du die Datei für dein Programm öffnest.
Zum Schreiben, Lesen, ob andere Prozesse auch lesen dürfen während du sie geöffnet hast etc.
Siehe auch hier alle die mit fm (File Mode) beginnen :
http://www.freepascal.org/docs-html/rtl ... dex-2.html" onclick="window.open(this.href);return false;
Das hat mit den Gruppen, Owner etc -Rechten und Executable nichts zu tun.
http://www.freepascal.org/docs-html/rtl ... chmod.html" onclick="window.open(this.href);return false;
Danke für Deine ausführliche Antwort.
Bitte führe trotzdem mal folgendes aus:
FileDelete('laber');
FileCreate('laber', &000);
Bei mir waren (habe hier jetzt kein Linux) anschließend alle Rechte für Owner, Group und Other zurückgesetzt.
Dann bitte mal:
FileDelete('laber');
FileCreate('laber', &555); { ich bin mir da jetzt nicht ganz sicher }
Ich hatte dann für Owner, Group und Other jeweils die Rechte zum Lesen und Ausführen gesetzt. Das kann doch kein Zufall sein oder?
In SysUtils ist FileCreate folgendermaßen implementiert:
Code: Alles auswählen
Function FileCreate (Const FileName : String;Mode : Longint) : Longint;
BEGIN
FileCreate:=fpOpen(FileName,O_RdWr or O_Creat or O_Trunc,Mode);
end;
Zu dem Mode-Parameter (bei fpOpen) steht folgendes in der RTL-Doku:
"...The optional mode argument specifies the permissions to set when opening the file. This is modified by the umask setting. The real permissions are Mode and not umask..."
Also ich steige noch nicht ganz durch
Gruß, Bernd.