Я использую два сервера и хочу смонтировать каталог на одном из другого. По разным причинам я хочу использовать 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