Вопрос или проблема
Я переустановил сервер 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.