Вопрос или проблема
Я использую CentOS версии 5.10. У меня настроена точка монтирования в /etc/fstab, которая раньше работала, но теперь не работает. После перезагрузки точка монтирования не существует, а команда sudo mount -a возвращает:
ошибка монтирования 13 = отказано в доступе.
Запись в моем fstab выглядит так:
//my.server/my\040Folder/MY\040SUBFOLDER/other\040folder /var/ftp/virtual_users/myfolder cifs username=mydomain\134myuser,password=mypassword 1 1
Я пытался смонтировать вручную в командной строке, используя это:
$ sudo mount -t cifs "//my.server/my Folder/MY SUBFOLDER/other folder" /var/ftp/virtual_users/myfolder --verbose -o username=myuser,password=mypassword,domain=mydomain
Результат:
mount.cifs kernel mount options: unc=//my.server\my Folder,ip=192.168.150.100,ver=1,rw,username=myuser,domain=mydomain,prefixpath=MY SUBFOLDER/other folder,pass=********
ошибка монтирования 13 = отказано в доступе.
См. мануал mount.cifs(8) (например, man mount.cifs)
Я успешно зашел с помощью smbclient:
$ smbclient "//my.server/my Folder" -U myuser -W mydomain
И оттуда я мог перейти в директорию MY “SUBFOLDER/other folder”.
После долгих поисков в Google, многие решения касались настройки режима безопасности. Я пробовал ntlm, ntlmi, ntlmv2, ntlmv2i, но ни один из вариантов не изменил вывод.
Есть запись монтирования для другой папки на этом же сервере, которая работает, но она не идет в подпапку:
//my.server/other /var/ftp/virtual_users/other cifs username=mydomain\134myuser,password=mypassword,nobrl,noperm 1 1
Также я пробовал добавить параметры noperm и nobrl к проблемному монтированию, но без изменений.
Системный администратор Windows-сервера (my.server) подтвердил, что myuser имеет полный контроль над всеми папками, к которым я пытаюсь получить доступ.
Хотя мне не удалось полностью решить ситуацию, я обнаружил, что могу смонтировать общий ресурс сам по себе:
//my.server/my Folder
Проблема заключалась в префиксном пути. Это работало без каких-либо модификаций параметров или пользователя. Почему это работало раньше с полным путем, а сейчас – нет, мне было бы интересно узнать.
Оттуда я изменил процесс, который использует это место монтирования, и поменял корневую директорию с “https://serverfault.com/” на ‘/MY SUBFOLDER/other folder/’, и все заработало.
Тестировалось на Centos 7(6?) в /etc/fstab:
//win_server/share /mount cifs credentials=/etc/cred.cifs,nounix,nobrl,noperm 0 0
На Centos 5:
//win_server/share /mount cifs credentials=/etc/cred.cifs,nounix 0 0
Ответ или решение
Проблема с монтированием CIFS на CentOS 5.10, которая возникает после перезагрузки и сопровождается ошибкой "mount error 13 = Permission denied", может быть вызвана несколькими факторами. Давайте пошагово разберемся с возможными решениями этой проблемы.
-
Проверка прав доступа:
Убедитесь, что пользователь, под которым вы пытаетесь смонтировать CIFS-ресурс, имеет необходимые права доступа к папке на сервере Windows. Это можно сделать, проверив права на папку и наличие доступа у пользователя с помощью командыsmbclient
, как вы уже делали. -
Корректировка fstab:
Ваша текущая запись в/etc/fstab
может не корректно обрабатывать пробелы и специальные символы. Один из вариантов – использовать текстовый файл для хранения учётных данных. Создайте файл, например,/etc/cred.cifs
, и добавьте в него следующие строки:username=mydomain\myuser password=mypassword
После этого измените запись в
/etc/fstab
на://my.server/my Folder/MY SUBFOLDER/other folder /var/ftp/virtual_users/myfolder cifs credentials=/etc/cred.cifs,uid=1000,gid=1000,nounix 0 0
Здесь
uid
иgid
следует заменить на значения, соответствующие пользователю, которому необходим доступ к монтированной папке. -
Использование опций монтирования:
Попробуйте различные комбинации опций монтирования. Некоторые из них могут повлиять на успешность операции. Например, можно добавить следующие опции:nofail,nobrl,noperm,rw,vers=1.0
-
Проверка версии CIFS:
Некоторые версии ядра в CentOS 5.10 могут иметь ограничения по поддерживаемым версиям CIFS. Попробуйте указать версию протокола CIFS, напримерvers=1.0
, в вашей записи fstab или через параметры при монтировании, как было указано выше. -
Проверка Samba:
Убедитесь, что пакет Samba установлен и работает корректно. Вы можете проверить его с помощью следующей команды:sudo service smb status
-
Логи:
Включите подробный лог для CIFS, чтобы понять, где точно происходит ошибка. Вы можете использоватьdmesg
или посмотреть в/var/log/messages
для получения более подробной информации о процессе монтирования. -
Тестирование:
Если вы обнаружили, что монтирование верхнего уровня (например,//my.server/my Folder
) проходит успешно, это может указывать на ошибки в доступе к подкаталогам. Попробуйте использовать их в качестве теста и убедитесь, что это работает, после чего проверьте доступ на уровне подкаталогов.
Если все вышеперечисленные шаги не помогли, попробуйте обновить свою систему, особенно если система имеет длительный срок эксплуатации. Обновления могут содержать исправления, которые решат вашу проблему.
Надеюсь, эти рекомендации помогут вам успешно смонтировать CIFS-ресурс. Если у вас возникнут дополнительные вопросы, пожалуйста, не стесняйтесь спрашивать.