web-dev-qa-db-fra.com

Impossible d'obtenir le bit d'exécution sur le partage Samba fonctionnant avec le client Windows 7

Je conserve la plupart de mes fichiers sur une boîte Ubuntu 14.04 dans des partages Samba et j'y accède à partir de machines clientes Windows 7. Tout cela fonctionnait avec Ubuntu 11.10 et, d’une manière ou d’une autre, cassé cela en passant à 14.04. Il existe une couche supplémentaire d'indirection sur le serveur via greyhole (pool de stockage jbod via Samba), mais il ne s'agit que d'un plug-in pour Samba et ne modifie pas les autorisations.

Problème:

  1. Un EXE est enregistré par le client W7 sur le partage Samba.
  2. Les autorisations semblent correctes à partir de la ligne de commande sur le serveur
  3. W7-client ne peut pas exécuter le fichier (je ne peux pas publier d'image en raison d'une mauvaise réputation).

"Windows ne peut pas accéder à \\ serveur\logiciel\Internet\WinApps\Multimedia\SetupProg.exe. Vous n'êtes pas autorisé à accéder à \\ serveur\Logiciel\Internet\WinApps\Multimedia\SetupProg.exe."

Windows voit les autorisations suivantes sur le fichier EXE:

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

J'utilise un groupe "sambashare" comme groupe commun à tous les utilisateurs accédant via des partages Samba. J'ai collé bits comme on le voit ici:

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

Donc, je reçois toujours le propriétaire = root, le groupe = sambashare. Aucun problème là-bas.

En regardant du côté serveur je vois:

$ 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

Le bit d'exécution du groupe n'est pas défini.

En regardant smb.conf pour le partage que j'ai (y compris les articles de @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

Je suis en mesure de définir manuellement le bit d'exécution de Linux et de réparer les fichiers existants. Toute suggestion où aller piquer serait utile.

4
Matthew Zaleski

Dans la section [global] de votre /etc/samba/smb.conf ajoutez les lignes suivantes:

[global] 
 
 propriétaire en partage uniquement = faux 
 extensions unix = non 
 suivez les liens symboliques = oui 
 liens larges = oui 
 
 ntlm auth = no 
 lanman auth = no 
 client ntlmv2 auth = yes 

Vérifiez également la manière dont les partitions NTFS sont montées dans le fichier /etc/fstab. Je devais ajouter default 0 0 à la fin de mes montages NTFS, de cette façon, toutes les autorisations nécessaires pour que les fichiers soient accessibles. Je mets un exemple de la façon dont mes montures sont.

UUID = 0A485DBF485DAA69/media/500 Go ntfs par défaut 0 0 
 UUID = 6AAA4323AA42EB61/media/SGUSB ntfs par défaut 0 0

Espérons que cela aide.

EDIT: J'ai totalement oublié que celui-ci était toujours ouvert et j'ai raté quelque chose. Il s’avère qu’il s’agit d’un bogue auquel il est possible de remédier par les lignes suivantes:

 Solution de contournement: 
 
 - /etc/samba/local.conf[.____._rev[global]
 Acl allow execute always = True 
 - 

Des informations peuvent être trouvées dans le rapport de bogue ici .

5
Terrance