Ich kandidiere vsftpd
und habe eine konkrete Frage:
Mit den file_open_mode
und local_umask
Optionen kann ich konfigurieren, welche Berechtigungen eine neu erstellte Datei/ein neu erstellter Ordner haben soll.
Das Problem:
Ich möchte 0660 für neue Dateien, aber 0770 für neue Ordner (Alle Dateien und Ordner sollten für Besitzer und Gruppen lesbar und beschreibbar sein – Ordner benötigen das executable
Bit, damit sie geöffnet werden können)
Wie kann ich das konfigurieren?
(Ich habe dieses Forum, Google, die vsftpd.man-Seite, Tutorials, Handbücher usw. durchsucht.)
Antwort1
Kurz zusammengefasst:
Die Standardeinstellungen file_open_mode
von 0666
und local_umask
von 0007
erteilen Ihnen Dateiberechtigungen von 0660
und Verzeichnisberechtigungen von 0770
.
Dateiberechtigungen
Wie Sie bereits erwähnt haben, werden Dateien mit den in festgelegten file_open_mode
(und durch geänderten local_umask
) Berechtigungen erstellt. Um mit erstellte Dateien zu erhalten, können Sie daher 0660
die Standardeinstellung beibehalten file_open_mode
und sie mit einem local_umask
von ändern, um als Ergebnis 0007
zu erhalten .0660
Verzeichnisberechtigungen
Verzeichnisse werden mit 0777
dem durch geänderten Modus erstellt local_umask
. Die einzige unterstützende Dokumentation, die ich dazu gefunden habe, befindet sich im Quellcode selbst. Da kein offizieller, browserlesbarer Quellcode verfügbar ist, kann ich nur auf einen inoffiziellen Quellcode-Spiegel unter verlinken.https://github.com/dagwieers/vsftpd/blob/3.0.2/postlogin.c#L1179wobei sich die „tunable umask“ im Kommentar auf die local_umask
Konfiguration bezieht.
/* NOTE! Actual permissions will be governed by the tunable umask */
retval = str_mkdir(&p_sess->ftp_arg_str, 0777);