Ich habe eine Samba-Freigabe mit dem Befehl smbmount gemountet:
$ sudo smbmount \\\\foo\\bar /mnt/bar -o user=tom
Wenn ich neue Dateien erstelle, werden diese mit dem für Eigentümer, Gruppe und Welt festgelegten ausführbaren Bit erstellt. Zum Beispiel
$ touch hello.txt
$ ls -la hello.txt
-rwxr-xr-x 1 root root 0 Dec 2 12:28 hello.txt
Dieselbe Datei, die auf einer über NFS bereitgestellten Freigabe erstellt wurde, richtet die korrekten Berechtigungen ein, ohne dass ein ausführbares Bit gesetzt ist.
Warum passiert dies? Wie kann es behoben werden?
quelle
Das klingt nach Ihrem Problem mit dem Titel: Kopierte Dateien werden unter Samba / CIFS ausgeführt .
Auszug
Weiter unten auf der Seite, Einstellung
map archive = no
in/etc/samba/smb.conf
:Auszug
quelle
Sie könnten versuchen:
mount -t cifs
Google "mount cifs" für die Verwendung, es ist nicht schwer zu verstehen, aber Sie möchten die Optionen mit der Option -o festlegen:
Benutzer und Gruppe sind IDs, da in numerischer Form nicht der Textalias. Diese Optionen stellen sicher, dass Sie über Schreib- / Lesezugriff verfügen. Die Berechtigungen werden vom Mount-Server gesteuert. Insbesondere
file_mask=0664
wird sichergestellt, dass Ihre Dateien nicht ausführbar sind. Darüber hinaus können Sie mit Ihren Samba-Freigaben als lokale Verzeichnisse arbeiten.quelle
file_mode=0644,dir_mode=0755
Warum dies so ist, erfahren Sie anhand der folgenden Erklärung auf der Samba-Website im Abschnitt " Dateiberechtigungen und -attribute unter MS-DOS und Unix ":
https://www.samba.org/samba/docs/using_samba/ch08.html
Dies hat mit der Zuordnung der Bits System, Hidden und Archive für ein MS-DOS-Dateisystem zu tun.
Ein MS-DOS-Dateisystem verwendet keine ausführbaren Bits, daher werden die drei ausführbaren Bits im Unix-Dateisystem wiederverwendet, um die System-, Hidden- und Archive-Bits für das MS-DOS-Dateisystem darzustellen.
Wenn Sie also die Dateiberechtigungen unter
ls -l
Unix anzeigen , sehen Sie die für MS-DOS (oder Windows) geeigneten Dateiberechtigungen, wobei Sie berücksichtigen, dass die drei ausführbaren Bits unter Unix die Bits System, Hidden und Archive für MS-DOS darstellen.In
smb.conf
können Sie diese Zuordnung jedoch für eine Freigabe deaktivieren mit:und erzwinge den Modus beim Erstellen von Dateien mit:
quelle
Ich benutze einen QNAP TS439 - und hatte dieses Problem mit ausführbaren Dateien.
Obwohl ich folgendes in meiner
/etc/fstab
Datei verwenden musstequelle