Ubuntu + dernière version de samba, les liens symboliques ne fonctionnent plus sur le partage monté dans Windows

14

Je viens de recevoir (apt-got?) Le dernier logiciel pour ma boîte Linux Ubuntu 9.10, et j'ai remarqué que la samba était incluse dans la mise à jour.

Après l'installation, les liens symboliques dans mon répertoire personnel ne fonctionnent plus lorsqu'ils sont montés en tant que lecteur dans ma boîte Linux. Ils ont travaillé littéralement quelques secondes avant de faire la mise à jour. Tous mes répertoires normaux fonctionnent très bien. En affichant la liste des répertoires sur la ligne de commande, tous les fichiers, répertoires et liens ont exactement les mêmes autorisations, mais voici l'erreur que j'obtiens:

Location is not available
L:\LinkDir is not accessible.
Access is denied.

J'ai regardé sur les forums, et j'ai vu cette option pour le smb.conf

follow symlinks = yes
wide symlinks = yes
unix extensions = no

Je les ai mis, mais ils n'ont eu aucun effet. Quelqu'un a-t-il déjà eu ce problème?

Roy Rico
la source

Réponses:

19

Il y a eu récemment un problème de sécurité dans Samba ( 5 février 2010 ), un exploit prétendu du jour zéro qui exploitait une configuration par défaut non sécurisée. Selon un article du forum Ubuntu sur le sujet, l' option "liens larges" par défaut est désormais non .

Apparemment, le nom de l'option a été modifié depuis ces instructions précédentes que vous avez trouvées.

L'ajout de cela à la section globale de votre fichier smb.conf devrait résoudre le problème:

follow symlinks = yes
wide links = yes
unix extensions = no

Après avoir enregistré smb.conf , assurez-vous de redémarrer Samba:

sudo /etc/init.d/samba restart
Quack Quichotte
la source
1
Je pense que la configuration recommandée est de mettre follow symlinkset wide linksdans la section des partages (au lieu de global) pour des raisons de sécurité. La unix extensionsdirective devrait aller dans la section globale comme indiqué par user36732 ci-dessous.
Matthew
cela n'a pas fonctionné pour moi; serveur samba sur raspberrypi ubuntu: montage cifs sur arch linux.
Necktwi
2

Cela m'a aussi aidé, même si je ne pensais pas que ce serait le cas. J'ai deux partages Samba sur mu Ubuntu. Dans les deux partages, j'utilise des liens symboliques, mais dans un rectificatif (partagé), les liens symboliques fonctionnaient, mais dans un autre rectificatif (également partagé), ils ne fonctionnaient pas.

Je n'ai eu aucun problème à suivre les liens sur Linux mais sur Win ça ne marcherait pas.

Je pourrais même utiliser deux fenêtres puTTy côte à côte, une dans mon répertoire / data et une dans mon répertoire / data2 et lancer la même commande: ln -s / data3 / Mydata.

Le répertoire Mydata apparaîtrait dans mes deux lecteurs mappés sur la boîte Win mais dans un cas cela fonctionnerait mais dans l'autre j'obtiendrais une erreur "Accès refusé".

Les "extensions unix = non" ont fait l'affaire mais je ne sais pas pourquoi ...

Exxoff
la source
0

J'ai eu le même problème, mais pour moi, mettre "unix extensions = no" dans la section [globale] de smb.conf a résolu le problème. Il est important de le placer dans l'indicateur d'extension unix dans la section globale (valable pour tous les partages), car il est analysé avant que Samba ne sache à quel partage l'utilisateur se connecte. L'option Liens larges peut aller dans le partage auquel elle s'applique.

Juste une remarque pour ceux qui ont été mordus par ce comportement et veulent éviter des événements similaires à l'avenir: l'équipe samba ne lit pas les suiveurs de bogues de la distribution, mais ils ont leur propre liste:

[email protected]

L'équipe de samba vit sous l'impression que seule une infime minorité de personnes est affectée par ce bug, et elles ne peuvent être convaincues du contraire que si plus de personnes font entendre leur voix. Donc, si vous vous souciez, envoyez une note à [email protected]

Merci,

Alain

user36732
la source
0

NB: j'ai déjà posté ceci pour répondre à une autre question , mais lors de la publication du lien uniquement, ma réponse (très courte!) A été convertie en commentaire à cette question initiale (voir ci-dessus), et est devenue légèrement invisible. Donc, pour la visibilité, voici à nouveau la réponse complète:

Pour permettre aux clients Samba de suivre les liens symboliques en dehors du chemin partagé, tout ce dont vous avez besoin dans la configuration Samba est:

[global]
allow insecure wide links = yes
unix extensions = no

[myShare]
wide links = yes

(en plus des définitions de partage Samba elles-mêmes, bien sûr). C'est-théoriquement- suffisant pour les clients * nix.

NB: La directive "follow symlinks" n'est pas nécessaire car elle est par défaut "yes"

Quant aux clients Windows, 1 paramètre est encore manquant pour leur permettre de suivre ces liens. Faire cela :

  1. ouvrir un shell Windows disposant de privilèges d'administrateur
  2. courir :

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    
  3. redémarrer pour recharger les paramètres

NB: le même résultat peut être obtenu en éditant le registre Windows. Voir les liens ci-dessous

sources :

Httqm
la source