1

У меня есть каталог, который используется совместно с Samba. Теперь я подключаю общий ресурс на другом компьютере к каталогу, который находится внутри этого общего ресурса. Проблема заключается в том, что этот подключенный общий ресурс отображается как пустой каталог при доступе к общему ресурсу.

Кто-нибудь знает, почему это происходит или как можно правильно получить доступ к общему ресурсу другого компьютера, как если бы он был частью другого общего ресурса?

Добавлен пример:

Если это поможет, вот как такой сценарий может быть создан:

# on host assume that we are `user1`
# assume that we use `[homes]` in `smb.conf` so our home directory is shared
mkdir -p d1/d2 && cd d1
# assume that there is a `host2`
# with a share named `share2` and a user `user2`
sudo mount.cifs -o username=user2 '//host2/share2' d2
# we check and see that it works and files from `share2` are visible
ls d2
# now we try to use this share from anywhere, for example locally
echo "ls d1/d2" | smbclient '\\localhost\user1' -U user1
# now we will only see an empty directory

1 ответ1

0

После расследования кажется, что я столкнулся с ошибкой, описанной здесь:https://serverfault.com/questions/491464/directories-shown-as-files-when-sharing-a-mounting-cifs-drive

Кажется, есть ошибка при повторном совместном использовании с samba: каталоги отображаются в виде файлов из-за ошибки. Samba использует счетчик инодов, чтобы определить это, а cifs устанавливает его в ноль. Таким образом, все каталоги отображаются в виде файлов нулевого размера.

Предлагаемое решение состоит в том, чтобы перекомпилировать модуль ядра для samba, но я не думаю, что это жизнеспособное решение. С момента ответа прошло 3 года, может быть, кто-то знает лучшее решение сейчас. Оригинальная ошибка была помечена как WILL_NOT_FIX в cifs и в samba, похоже, ничего не произошло.

Если у кого-то есть лучшее решение, я хотел бы услышать от них.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .