it-swarm.com.de

Das Ausführungsbit auf der Samba-Freigabe kann nicht mit dem Windows 7-Client ausgeführt werden

Ich behalte die meisten meiner Dateien auf einer Ubuntu 14.04-Box in Samba-Freigaben und greife von Windows 7-Clientcomputern darauf zu. Ich hatte das alles mit Ubuntu 11.10 zu tun und habe es irgendwie kaputt gemacht, als ich auf 14.04 umgestiegen bin. Es gibt eine zusätzliche Indirektionsebene innerhalb des Servers über Greyhole (JBOD-Speicherpooling über Samba), die jedoch nur ein Plugin für Samba ist und die Berechtigungen nicht ändert.

Problem:

  1. Eine EXE-Datei wird vom W7-Client auf der Samba-Freigabe gespeichert.
  2. Berechtigungen sehen von der Befehlszeile auf dem Server aus korrekt aus
  3. Der W7-Client kann die Datei nicht ausführen (ich kann das Bild wegen schlechten Rufs nicht posten).

"Windows kann nicht auf \\ Server\Software\Internet\WinApps\Multimedia\SetupProg.exe zugreifen. Sie haben keine Zugriffsberechtigung für \\ Server\Software\Internet\WinApps\Multimedia\SetupProg.exe."

Windows sieht die folgenden Berechtigungen für die EXE:

Everyone: Read
root (Unix User\root): Read & Execute, Read, Write, Special
sambashare (Unix Group\sambashare): Read, Write

Ich verwende eine Gruppe "Sambashare" als gemeinsame Gruppe für alle Benutzer, die über Samba-Freigaben zugreifen. Ich habe Sticky Bits wie hier gezeigt gesetzt:

drwsrwsr-x 31 root     sambashare 12288 Apr 25 20:11 ../

Also bekomme ich immer owner = root, group = sambashare. Keine Probleme dort.

Von der Serverseite aus sehe ich:

$ ls -l /mnt/lsi11/shares/Software/Internet/WinApps/Multimedia
lrwxrwxrwx  1 root sambashare    69 Apr 25 16:14 SetupProg.exe -> /mnt/lsi4/gh/Software/Internet/WinApps/Multimedia/SetupProg.exe

$ ls -l /mnt/lsi4/gh/Software/Internet/WinApps/Multimedia
-rwxrw-r--  1 root sambashare 11800240 Apr 25 15:23 SetupProg.exe

Das Gruppenausführungsbit wird nicht gesetzt.

In der smb.conf nach meiner Freigabe suchen (einschließlich Artikel von @Terrance):

[Global]
   wide links = yes
   unix extensions = no
   workgroup = WORKGROUP
   server string = %h server (Samba, Ubuntu)
   wins support = yes
   dns proxy = no
   name resolve order = lmhosts Host wins bcast
   log file = /var/log/samba/log.%m
   max log size = 5000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   security = user
   encrypt passwords = true
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = no
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = bad user
   printing = bsd
   printcap name = /dev/null
   usershare allow guests = yes

   follow symlinks = yes
   ntlm auth = no
   lanman auth = no
   client ntlmv2 auth = yes
   usershare owner only = no

[Software]
   comment = Software files
   browsable = yes
   path = /mnt/lsi11/shares/Software
   read only = no
   valid users = user1 user2
   guest ok = no
   inherit owner = yes
   inherit permissions = yes
   dfree command = /usr/bin/greyhole-dfree
   vfs objects = greyhole

Ich kann das Ausführungsbit unter Linux manuell setzen und vorhandene Dateien reparieren. Irgendwelche Vorschläge, wohin man stochert, wären hilfreich.

4
Matthew Zaleski

Fügen Sie im Abschnitt [global] Ihres /etc/samba/smb.conf die folgenden Zeilen hinzu:

[global] 
 
 Usershare-Eigentümer = false 
 Unix-Erweiterungen = no 
 Follow Symlinks = yes 
 Wide Links = yes 
 
 ntlm auth = no 
 lanman auth = no 
 client ntlmv2 auth = yes 

Überprüfen Sie auch, wie die NTFS-Partitionen in der Datei /etc/fstab eingebunden sind. Ich musste default 0 0 am Ende meiner NTFS-Bereitstellungen hinzufügen, damit alle Berechtigungen für den Zugriff auf die Dateien geöffnet wurden. Ich habe ein Beispiel gegeben, wie meine Reittiere sind.

UUID = 0A485DBF485DAA69/media/500GB ntfs Standard 0 0 
 UUID = 6AAA4323AA42EB61/media/SGUSB ntfs Standard 0 0

Hoffentlich hilft das.

EDIT: Ich habe total vergessen, dass dieses noch offen war und ich habe etwas verpasst. Wie sich herausstellt, handelt es sich um einen Fehler, der durch die folgenden Zeilen behoben werden kann:

 Workaround: 
 
 - /etc/samba/local.conf[.____.[global
 Acl allow execute always = True 
 - 

Informationen finden Sie im Fehlerbericht hier .

5
Terrance