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:
"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.
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 .