Назад | Перейти на главную страницу

Samba mount не следует символической ссылке

Я использую два сервера и хочу смонтировать каталог на одном из другого. По разным причинам я хочу использовать Samba (smbfs), а не NFS.

ServerA монтирует ServerB с этим в fstab:

//ServerB/sambashare /mount/point smbfs username=blah,password=blah,ro

Это работает, и я могу видеть содержимое sambashare в / mount / point. Однако символическая ссылка в этом каталоге, которая на сервере A указывает на / tmp / blah, не разрешается правильно. Если я пытаюсь зайти в каталог, появляется сообщение Permission denied.

Сервер Samba на ServerB имеет следующие глобальные настройки:

follow symlinks = yes
wide links = yes

Любые предложения о том, почему это может не работать? Ссылка делает правильно разрешить локально на ServerB.

(Имена серверов, общих ресурсов и т. Д. Были изменены для защиты невиновных.)

smbfs - это старая реализация smb ядра, которая больше не поддерживается. Вместо этого он был заменен модулем ядра cifs. Поэтому попробуйте смонтировать его с типом cifs вместо smbfs.

Также убедитесь, что у вас нет «Unix Extensions = No» в вашем smb.conf, так как это также отключит возможность модулей ядра переходить по символическим ссылкам. По умолчанию это значение да, поэтому, если его нет в вашем smb.conf, вы должны быть здесь все настроены.

Вы также можете сохранить свои учетные данные в более безопасном месте, так как любой может прочитать / etc / fstab.

Для этого выполните следующие действия от имени пользователя root.

cd / etc / samba /
echo username = mywindowsusername> .smbpasswd
эхо-пароль = mywindowspassword >> .smbpasswd
chmod 600 .smbpasswd

Замените в командах свое имя пользователя и пароль Windows. Никто, кроме root, не сможет прочитать содержимое этого файла.

Затем измените строку в файле / etc / fstab, чтобы она выглядела так:

// имя сервера / имя ресурса / каталог монтирования cifs credentials = / etc / samba / .smbpasswd 0 0