Это сервер Ubuntu 10.04 64 и samba 3.4.7.
У меня есть общий каталог /home/mit/share
и еще один, /home/temp
который я связываю с общим:
ln -s /home/temp /home/mit/share/temp
Но в Windows после использования Интернета я не могу открыть S:/temp
, но в Linux можно получить доступ, /home/mit/share/temp
как и ожидалось.
Это работает, если я связываю каталоги внутри /home/mit/share/temp
, поэтому я предполагаю, что samba ограничивает переход по ссылке за пределами / выше общего каталога.
РЕДАКТИРОВАТЬ:
См. Также этот вопрос под названием Ubuntu + последняя версия samba, символические ссылки больше не работают на общем ресурсе, смонтированном в Windows .
Кажется , лучше всего поместить unix extensions = no
в глобальную секцию и follow symlinks = yes
и wide links = yes
только в раздел акции, где это действительно необходимо.
unix extension
Флаг должен жить в глобальном разделе , а не в отдельных секциях акций. Но по соображениям безопасности лучше использовать другие варианты только там, где это необходимо, а не глобально.
Ответы:
Редактировать smb.conf
Примечание. Если вы используете более новую версию samba, вам может подойти следующее:
документация
follow symlinks
иwide links
флаги: https://www.samba.org/samba/docs/using_samba/ch08.html#samba2-CHP-8-TABLE-1источник
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2:grep -o '^[^#;]*' smb.conf.bak >smb.conf
[share]
значит[<share_name>]
?sshfs
Приветствую, я попытался поместить это в конфигурацию, чтобы исправить символические ссылки для окон для моей установки, но я не уверен, повлияет ли это на клиент Windows, в противном случае он будет следовать символическим ссылкам при подключении к этому блоку.
источник
В качестве альтернативы другим ответам, чтобы оставить включенными расширения Unix, можно использовать:
источник
[share]
значит[<share_name>]
?[homes]
, где я его использую. Смотрите документацию для деталей.Чтобы клиенты Samba могли переходить по символическим ссылкам вне общего пути, все, что вам нужно в конфигурации Samba:
(в дополнение к самбе, конечно, разделяет определения). Этого теоретически достаточно для клиентов * nix.
NB. Директива follow symlinks не обязательна, по умолчанию используется значение yes
Что касается клиентов Windows, 1 настройка по-прежнему отсутствует, чтобы позволить им переходить по таким ссылкам. Для этого:
бегать :
перезагрузить, чтобы перезагрузить настройки
Примечание: тот же результат можно получить, отредактировав реестр Windows. Смотрите ссылки ниже
источники:
источник
Вам может потребоваться обратиться не только к файлу конфигурации Samba, если вы используете AppArmor.
Вам нужны следующие директивы в вашем
smb.conf
:Но AppArmor блокирует доступ к частям файловой системы в соответствии со своей семантикой набора правил. Итак, если ваша символическая ссылка в Samba указывает на местоположение, которое AppArmor будет блокировать, Samba запретит доступ.
В моей системе Samba обновляет профили AppArmor при запуске / остановке службы, поэтому я могу изменить профиль AppArmor, но рискую перезаписать Samba или другую программу. Вместо этого я решил создать недоступный общий ресурс в Samba, ссылающийся на местоположение, которое содержало цель символической ссылки, к которой я хотел получить доступ (все еще в
smb.conf
):источник