mount.cifs сообщает о запрете доступа, хотя GVFS может смонтировать с теми же учетными данными

Вопрос или проблема

Я переустановил сервер Fedora 40 (без SELinux) после сбоя диска, и, несмотря на использование той же конфигурации, что и ранее, теперь не могу смонтировать общий ресурс с помощью mount.cifs, но могу смонтировать его с использованием Gnome/GVFS.

Что бы я ни пробовал, я получаю отказ в доступе с помощью mount.cifs.

На клиенте

(также работает Fedora 40, но рабочая станция):

sudo mount -t cifs -vvv //nas/stuff/ /nas/stuff \
  -o 'user=wilma,domain=SAMBA,pass=thePasswordHere,uid=1000,gid=1000'

mount.cifs kernel mount options: ip=192.168.1.251,unc=\\nas\stuff,uid=1000,gid=1000,user=wilma,domain=SAMBA,pass=********
mount error(13): Permission denied
См. страницу руководства mount.cifs(8) (например, man mount.cifs) и сообщения журнала ядра (dmesg)

sudo dmesg |tail

[134542.717594] CIFS: включение параметра монтирования forceuid неявно, потому что указан параметр uid=
[134542.717597] CIFS: включение параметра монтирования forcegid неявно, потому что указан параметр gid=
[134542.717598] CIFS: Пытается смонтировать //nas/stuff                                         
[134542.757040] CIFS: Код статуса, возвращенный 0xc000006d STATUS_LOGON_FAILURE                      
[134542.757059] CIFS: VFS: \\nas Ошибка отправки в SessSetup = -13                                
[134542.757081] CIFS: VFS: cifs_mount не удался с кодом возврата = -13                                

1000 – это uid/gid моего пользователя на клиенте.

На сервере

/etc/samba/smb.conf:

[global]
  workgroup = SAMBA
  security = user
  passdb backend = tdbsam

  interfaces = 192.168.1.251/0 enp1s0
  hosts allow = 127.0.0.1, 192.168.1.0/24
  hosts deny = 0.0.0.0/0

[stuff]
   comment = Stuff
   browseable = yes
   read only = no
   create mask = 0775
   directory mask = 0775
   path = /mnt/drive/files/stuff/
   force user = wilma
   force group = wilma
   force directory mode = 775
   force create mode = 664

Что я пробовал

  • sec=ntlm sec=ntlmssp
  • не указывать uid и gid
  • добавление vers=3.0
  • тройная проверка пароля + имени пользователя!
  • разные и отсутствующие значения для domain
  • указание домена через workgroup=SAMBA
  • проверка, что брандмауэр сервера позволяет samba и не блокирует пакеты

Ответ или решение

Учитывая предоставленную вами информацию, существует несколько причин, по которым команда mount.cifs может выдавать ошибку "Permission denied", даже если GVFS работает с теми же учетными данными. Ниже приведены шаги для диагностики и решения данной проблемы.

1. Проверьте учетные данные

Убедитесь, что имя пользователя и пароль, которые вы используете в команде mount.cifs, действительно корректны. Вы можете попробовать задать учетные данные в отдельном файле, используя опцию credentials. Создайте файл, например, /etc/samba/credentials, и добавьте в него следующую информацию:

username=wilma
password=thePasswordHere
domain=SAMBA

Затем измените команду монтирования следующим образом:

sudo mount -t cifs -vvv //nas/stuff/ /nas/stuff -o credentials=/etc/samba/credentials,uid=1000,gid=1000

Не забудьте установить правильные разрешения на файл с учетными данными, чтобы защитить его:

sudo chmod 600 /etc/samba/credentials

2. Проверьте настройки Samba

В конфигурации Samba убедитесь, что все настройки выполнены корректно. Возможно, стоит проверить, правильно ли настроено имя рабочей группы и разрешения на файлы. Постарайтесь использовать опцию valid users, чтобы явно указать, какие пользователи могут подключаться. Замените часть вашей конфигурации следующим образом:

[stuff]
   comment = Stuff
   browseable = yes
   read only = no
   create mask = 0775
   directory mask = 0775
   path = /mnt/drive/files/stuff/
   valid users = wilma
   force user = wilma
   force group = wilma
   force directory mode = 775
   force create mode = 664

После изменения конфигурации перезапустите службу Samba:

sudo systemctl restart smb
sudo systemctl restart nmb

3. Проверка параметров безопасности

Возможно, вам потребуется настроить параметры безопасности. Попробуйте различные уровни безопасности:

-o sec=ntlmssp

или

-o sec=ntlm

Таким образом, вы сможете проверить, решает ли это проблему с разрешениями.

4. Проверка SELinux

Хотя вы упомянули, что SELinux отключен, в некоторых случаях могут остаться старые "маркеры" безопасности. Попробуйте временно перезапустить SELinux, если вы его ранее включали:

sudo setenforce 0

5. Просмотр логов

Посмотрите логи Samba на сервере, чтобы найти конкретную причину проблемы. Логи могут находиться в /var/log/samba/ или /var/log/smbd.log. Эти логи могут помочь выявить проблему с аутентификацией.

6. Используйте smbclient для теста

Вы также можете протестировать подключение к общему ресурсу с помощью smbclient, чтобы убедиться, что у вас действительно есть доступ:

smbclient //nas/stuff -U wilma

Это может дать дополнительные подсказки о том, почему mount.cifs не может подключиться.

Заключение

Если после выполнения всех предложенных шагов проблема не будет решена, возможно, стоит проверить, нет ли ограничений на стороне сервера, связанных с IP-адресом или конфигурацией сетевых служб. Иногда, для разрешения подобных вопросов, полезно навести порядок в журнале событий и выяснить, были ли изменения в конфигурации самого сервера NAS.

Оцените материал
Добавить комментарий

Капча загружается...