C'est le serveur Ubuntu 10.04 64 et samba 3.4.7.
J'ai un répertoire partagé /home/mit/share
et un autre /home/temp
que je relie au répertoire partagé:
ln -s /home/temp /home/mit/share/temp
Mais sous Windows, après avoir utilisé Internet, je ne peux pas ouvrir S:/temp
, mais sous Linux, il est possible d’accéder /home/mit/share/temp
comme prévu.
Cela fonctionne si je lie des répertoires à l'intérieur /home/mit/share/temp
, donc je suppose que samba est restreint pour sauter avec un lien en dehors / au dessus du répertoire partagé.
MODIFIER:
Voir également cette question intitulée Ubuntu + dernière version de samba, les liens symboliques ne fonctionnent plus sur les partages montés dans Windows .
Il semble préférable de mettre unix extensions = no
dans la section globale follow symlinks = yes
et wide links = yes
uniquement dans la section actions, là où vous en avez vraiment besoin.
Le unix extension
drapeau doit vivre dans la section globale et non dans les sections de partages individuels. Mais pour des raisons de sécurité, il est préférable d’utiliser les autres options uniquement là où vous en avez besoin, et non globalement.
Réponses:
Editer smb.conf
Remarque: si vous utilisez une version plus récente de samba, les éléments suivants peuvent fonctionner à votre place:
documentation sur
follow symlinks
etwide links
drapeaux: https://www.samba.org/samba/docs/using_samba/ch08.html#samba2-CHP-8-TABLE-1la source
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2:grep -o '^[^#;]*' smb.conf.bak >smb.conf
[share]
dire[<share_name>]
?sshfs
Bonjour, j'ai essayé de mettre cela dans la configuration pour corriger les liens symboliques pour Windows pour ma configuration, mais je ne suis pas sûr que cela affectera le client Windows, sinon il suit les liens symboliques lorsque je me connecte à cette boîte.
la source
Alternativement aux autres réponses, pour garder les extensions unix activées, il est possible d’utiliser:
la source
[share]
dire[<share_name>]
?[homes]
, où je l'utilise. Voir la documentation pour plus de détails.Pour permettre aux clients Samba de suivre les liens symboliques en dehors du chemin partagé, tout ce dont vous avez besoin dans la configuration de Samba est:
(en plus des définitions de partage de samba elles-mêmes, bien sûr). C'est théoriquement suffisant pour les clients * nix.
NB: La directive "suivre les liens symboliques" n'est pas nécessaire car elle prend par défaut "oui".
En ce qui concerne les clients Windows, il manque 1 paramètre pour leur permettre de suivre ces liens. Faire cela :
courir :
redémarrer pour recharger les paramètres
NB: le même résultat peut être obtenu en modifiant le registre Windows. Voir les liens ci-dessous
sources :
la source
Si vous exécutez AppArmor, vous devrez peut-être traiter davantage que le fichier de configuration Samba.
Vous avez besoin des directives suivantes dans votre
smb.conf
:Cependant, AppArmor bloque l’accès à certaines parties du système de fichiers en fonction de sa propre sémantique de jeu de règles. Ainsi, si votre lien symbolique dans Samba indiquait un emplacement qu'AppArmor bloquerait, Samba refuserait l'accès.
Sur mon système, Samba met à jour les profils AppArmor au démarrage / à l'arrêt du service afin que je puisse modifier un profil AppArmor, mais que Samba ou un autre programme risque de l'écraser. Au lieu de cela, j'ai décidé de créer un partage inaccessible dans Samba, référençant l'emplacement contenant le lien symbolique auquel je voulais accéder (toujours
smb.conf
):la source