Вопрос или проблема
У меня свежая установка Ubuntu 24.04.1 на новом SSD.
Я хотел бы перенести как можно больше из моей старой системы 22.04, особенно конфигурацию моего автоматического монтирования, но я не могу заставить его работать на новой системе. Что бы я ни делал, я всегда получаю ошибки в журналах. Мне удалось выполнить ручное монтирование без файла .credentials
.
Что я сделал:
Я скопировал существующие файлы .mount
и .automount
с старой системы на новую. Например:
-rwxr-xr-x 1 ben ben 320 Sep 27 2023 mnt-synology-Bilder.mount*
[Unit]
Description=Mount for //192.168.0.10/Bilder
Requires=mnt-synology-Bilder.automount
After=mnt-synology-Bilder.automount
[Mount]
What=//192.168.0.10/Bilder
Where=/mnt/synology/Bilder
Options=credentials=/home/ben/.credentials,rw,vers=3.1.1,_netdev,uid=1000,gid=1000
Type=cifs
[Install]
WantedBy=multi-user.target
-rwxr-xr-x 1 ben ben 149 Sep 27 2023 mnt-synology-Bilder.automount*
[Unit]
Description=Automount for //192.168.0.10/Bilder
[Automount]
Where=/mnt/synology/Bilder
TimeoutIdleSec=1
[Install]
WantedBy=remote-fs.target
-r--r----- 1 ben ben 51 Nov 24 23:26 /home/ben/.credentials
username=Ben
password=p!assword!
domain=workgroup
Создал папку для монтирования:
$ ll /mnt/synology/
insgesamt 0
drwxr-xr-x 1 root root 30 Nov 24 22:28 ./
drwxr-xr-x 1 root root 88 Nov 24 21:09 ../
drwxr-xr-x 2 root root 0 Nov 24 23:46 Bilder/
drwxr-xr-x 1 root root 0 Nov 24 22:28 testmount/
Ничего не изменилось на NAS (старая установка по-прежнему может выполнять автоматическое монтирование), но когда я пытаюсь выполнить автоматическое монтирование на ПК с 24.04, происходит следующее:
$ sudo systemctl daemon-reload
$ sudo systemctl restart mnt-synology-Bilder.automount
$ ll /mnt/synology/Bilder/
ls: cannot access '/mnt/synology/Bilder/': No such device
$ sudo ls -l /mnt/synology/Bilder/
ls: cannot access '/mnt/synology/Bilder/': No such device
$ sudo dmesg
[ 896.726231] CIFS: Attempting to mount //192.168.0.10/Bilder
[ 896.747517] CIFS: Status code returned 0xc000006d STATUS_LOGON_FAILURE
[ 896.747529] CIFS: VFS: \\192.168.0.10 Send error in SessSetup = -13
[ 896.747542] CIFS: VFS: cifs_mount failed w/return code = -13
[ 1094.948382] workqueue: delayed_fput hogged CPU for >10000us 8 times, consider switching to WQ_UNBOUND
[ 1143.127709] CIFS: enabling forceuid mount option implicitly because uid= option is specified
[ 1143.127712] CIFS: enabling forcegid mount option implicitly because gid= option is specified
[ 1143.127714] CIFS: Attempting to mount //192.168.0.10/Bilder
[ 1143.154125] CIFS: Status code returned 0xc000006d STATUS_LOGON_FAILURE
Видимо, это касается самого cifs-монтирования, а не механизма automountd. Если я изменяю монтирования на NFS, они работают. Но тогда они больше не безопасны из-за отсутствия Kerberos.
Я действительно не знаю, что я могу делать неправильно, потому что я на самом деле ничего не менял, просто скопировал некоторые файлы.
Я не создал записи для точки монтирования в /etc/fstab. Почему я должен это делать?
Я пытался больше 2 часов с ChatGPT (а до этого один раз пытался столько же). Я попробовал тысячу вещей, но ничего не сработало. “Искусственный интеллект” сказал, что это из-за !
в пароле, что никогда не было проблемой с 22.04 и раньше, но подходы решения. Экранирование с помощью \
или с одинарными или двойными кавычками не помогло, и ни один другой специальный символ тоже.
Ответ или решение
Решение проблемы автоматического монтирования CIFS/SMB на Ubuntu 24.04
Проблема, с которой вы столкнулись, заключается в том, что автоподключение CIFS/SMB не работает на свежей установке Ubuntu 24.04.1, когда вы перенесли конфигурацию с вашей старой системы на 22.04. Давайте рассмотрим несколько шагов для диагностики и устранения проблемы.
1. Проверка файла учетных данных
Первый шаг – убедиться, что файл учетных данных /home/ben/.credentials
имеет правильный формат и доступ. Формат должен быть следующим:
username=Ben
password=p!assword!
domain=workgroup
Убедитесь, что файл имеет права доступа 600
, чтобы только владелец мог его читать:
chmod 600 /home/ben/.credentials
Вы уже указали правильные права, но всегда стоит проверить, чтобы избежать ошибок.
2. Логи и информация о монтировании
Согласно выводам команд ls
и dmesg
, вы получаете ошибку STATUS_LOGON_FAILURE
. Это указывает на проблему с аутентификацией. Так как вы указали, что проблема не наблюдается при монтировании с использованием NFS, давайте проверим несколько моментов:
-
Аутентификация на NAS: Убедитесь, что учетная запись, используемая для подключения, все еще активна и имеет необходимые разрешения на NAS.
-
Версия протокола CIFS: Если ваш NAS поддерживает более новую версию протокола SMB, вы можете попробовать изменить параметр
vers
в вашемmnt-synology-Bilder.mount
наvers=3.0
,vers=2.1
или другой подходящей версии.
3. Проверка конфигурации системы
Поскольку вы копируете файлы конфигурации, убедитесь, что вы также перенесли все необходимые зависимости и пакеты, которые могли быть установлены на старой системе. Для CIFS убедитесь, что у вас установлены необходимые пакеты:
sudo apt update
sudo apt install cifs-utils
4. Запись в fstab
Хотя вы не добавили запись в /etc/fstab
, это не является обязательным для работы systemd-юнитов. Тем не менее, для большей надежности можно добавить запись, например:
//192.168.0.10/Bilder /mnt/synology/Bilder cifs credentials=/home/ben/.credentials,uid=1000,gid=1000,rw,vers=3.1.1,_netdev 0 0
Такое решение может помочь в автоматическом монтировании на этапе загрузки.
5. Мониторинг и отладка
Если вышеуказанные шаги не помогли, проверьте дополнительные логи системы, используя команды:
sudo journalctl -xe
Эти логи могут предоставить информацию о том, почему монтирование не удается.
6. Тестирование с изменением параметров
Попробуйте временно изменить ваш credentials
файл, убрав домен и посмотрев, запустится ли монтирование с учетной записью только username
и password
.
Заключение
После выполнения этих шагов ваша проблема с автоматическим монтированием CIFS/SMB должна быть решена. Если проблема будет сохраняться, вернитесь к логам, чтобы изучить более детальные ошибки, и проверьте документацию вашего NAS на наличие специфических требований к аутентификации.