Ubuntu + последняя версия Samba, символические ссылки больше не работают на общем ресурсе, смонтированном в Windows


14

Я просто apt-getted (apt-got?) Последнюю версию программного обеспечения для моего Ubuntu 9.10 linux box, и я заметил, что samba была включена в обновление.

После установки символические ссылки в моем домашнем каталоге больше не работают, когда смонтированы как диск в моем linux box. Они работали буквально за секунды до того, как я сделал обновление. Все мои нормальные каталоги работают просто отлично. При просмотре списка каталогов в командной строке все файлы, каталоги и ссылки имеют одинаковые разрешения, но я получаю эту ошибку:

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

Я посмотрел на форумах, и я увидел эту опцию для smb.conf

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

Я вставил их, но они не дали эффекта. Кто-нибудь еще имел эту проблему?

Ответы:


19

В Samba недавно возникла проблема безопасности ( 5 февраля 2010 г. ), заявленная уязвимость нулевого дня, в которой использовалась небезопасная конфигурация по умолчанию. Согласно сообщению на форуме Ubuntu на эту тему, опция "широких ссылок" по умолчанию - нет .

Видимо имя опции было изменено с тех ранних инструкций, которые вы нашли.

Добавление этого в глобальный раздел вашего файла smb.conf должно решить проблему:

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

После сохранения файла smb.conf обязательно перезапустите Samba:

sudo /etc/init.d/samba restart

1
Я думаю, что рекомендуемая конфигурация должна быть размещена follow symlinksи wide linksв разделе общего ресурса (вместо глобального) по соображениям безопасности. unix extensionsДиректива должна идти в глобальный раздел как отметил user36732 ниже.
Мэтью

это не сработало для меня; сервер samba на raspberrypi ubuntu: cifs монтируется на arch linux.
Necktwi

2

Это помогло мне тоже, хотя я не думал, что это будет. У меня есть две акции Samba на mu Ubuntu. В обеих общих папках я использую символические ссылки, но в одной дискреции (общей) символические ссылки работали, а в другой - (также общей) не было.

У меня не было проблем с ссылками на Linux, но на Win это не сработало.

Я мог бы даже использовать два окна puTTy рядом друг с другом, одно в моем каталоге / data и одно в моем / data2, и выполнить одну и ту же команду: ln -s / data3 / Mydata.

Каталог Mydata будет отображаться на обоих моих подключенных дисках на коробке Win, но в одном случае он будет работать, но в другом я получу ошибку «Отказано в доступе».

«Unix extensions = no» добились цели, но я не знаю почему ...


0

У меня была та же проблема, но для меня, размещение "unix extensions = no" в разделе [global] smb.conf решило проблему. Важно, чтобы вы поместили его в флаг расширения Unix в глобальный раздел (действительный для всех общих ресурсов), так как он анализируется до того, как Samba узнает, к какому общему ресурсу подключается пользователь. Опция Широкие ссылки может входить в общий ресурс, к которому относится.

Просто замечание для тех, кого укусило это поведение, и которые хотят избежать подобных случаев в будущем: команда samba не читает трекеры ошибок дистрибутива, но у них есть свой собственный список:

samba-technical@lists.samba.org

У команды samba сложилось впечатление, что эта ошибка затронула лишь крошечное меньшинство людей, и в противном случае их можно убедить только в том случае, если их голоса услышат больше людей. Так что, если вам не все равно, оставьте записку на samba-technical@lists.samba.org

Благодарность,

Alain


0

NB: уже опубликовал это, чтобы ответить на другой вопрос , но при публикации только ссылки мой (очень короткий!) Ответ был преобразован в комментарий к этому первоначальному вопросу (см. Выше) и стал немного невидимым. Итак, для наглядности, вот полный ответ снова:

Чтобы позволить клиентам Samba следовать символическим ссылкам вне общего пути, все, что вам нужно в конфигурации Samba:

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

[myShare]
wide links = yes

(в дополнение к самбе, конечно, разделяет определения). Этого теоретически достаточно для клиентов * nix.

NB. Директива follow symlinks не обязательна, по умолчанию используется значение yes

Что касается клиентов Windows, 1 настройка по-прежнему отсутствует, чтобы позволить им переходить по таким ссылкам. Для этого:

  1. откройте оболочку Windows с правами администратора
  2. бегать :

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    
  3. перезагрузить, чтобы перезагрузить настройки

Примечание: тот же результат можно получить, отредактировав реестр Windows. Смотрите ссылки ниже

источники:

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.