Systemd монтирование работает с комбинацией имя пользователя и пароль, но не с файлом учетных данных.

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

Я только что перенес старый сервер на новую машину. Теперь я переношу свою старую конфигурацию, ключевой особенностью которой было монтирование удалённого каталога на моём сервере. Раньше это работало прекрасно, но теперь у меня возникла небольшая проблема.

Мой файл монтирования systemd на старой машине был таким:

[Unit]
  Description=монтирование папки документов Nas
  Requires=awainetworkformount.service
  After=awainetworkformount.service

[Mount]
  What=//192.168.1.4/document
  Where=/mnt/NAS.Document
  Options=credentials=/etc/systemd.cred.Nas,uid=1000,gid=1000,rw
  Type=cifs

[Install]
  WantedBy=multi-user.target

Мой файл с учетными данными выглядит так:

username=Pve1
password=password1234

И его права установлены на 600.

Но это не работает, оставляя меня с этой проблемой:

Nov 28 00:03:57 myserv systemd[1]: Монтирование папки документов Nas...
Nov 28 00:03:57 myserv mount[15457]: mount: /mnt/NAS.Document: не удается смонтировать //192.168.1.4/document в режиме только для чтения.
Nov 28 00:03:57 myserv systemd[1]: mnt-NAS.Document.mount: Процесс монтирования завершился, код=выход, статус=32/n/a
Nov 28 00:03:57 myserv systemd[1]: mnt-NAS.Document.mount: Ошибка с результатом 'exit-code'.
Nov 28 00:03:57 myserv systemd[1]: Не удалось смонтировать папку документов Nas.

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

[Unit]
  Description=монтирование папки документов Nas
  Requires=awainetworkformount.service
  After=awainetworkformount.service

[Mount]
  What=//192.168.1.4/document
  Where=/mnt/NAS.Document
  Options=username=Pve1,password=password1234,uid=1000,gid=1000,rw
  Type=cifs

[Install]
  WantedBy=multi-user.target

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

Проблема, с которой вы столкнулись при попытке монтирования удаленной директории с использованием файла учетных данных в systemd, может быть связана с несколькими факторами, включая формат файла, его права доступа и параметры монтирования. Рассмотрим подробно, почему монтирование происходит корректно при использовании комбинации имени пользователя и пароля, но не работает с файлом учетных данных.

1. Проверка формата файла учетных данных

Файл учетных данных должен иметь определенную структуру и не содержать лишних пробелов или символов. Убедитесь, что содержимое файла /etc/systemd.cred.Nas записано в правильном формате:

username=Pve1
password=password1234

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

2. Проверка прав доступа к файлу

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

ls -l /etc/systemd.cred.Nas

Если файл принадлежит другому пользователю, измените владельца на root, поскольку systemd запускается от имени этого пользователя:

sudo chown root:root /etc/systemd.cred.Nas

3. Проверка параметров монтирования

Если файл учетных данных правильно настроен, а права доступа правильные, проверьте параметры монтирования в вашем конфигурационном файле. Например, параметры в секции [Mount] должны быть указаны в соответствии с ожидаемым форматом.

4. Логи и диагностика ошибок

Ошибка при монтировании (mount: /mnt/NAS.Document: cannot mount //192.168.1.4/document read-only.) может указывать на проблему с доступом к удаленному ресурсу или на то, что CIFS-клиент не может использовать файл учетных данных. Чтобы получить более подробную информацию о происходящем, просмотрите системные логи:

journalctl -u mnt-NAS.Document.mount

Это может предоставить дополнительную информацию о том, почему монтирование не удалось.

5. Команды для тестирования

Постарайтесь также протестировать монтирование вручную, используя команду mount с параметром -o. Это поможет понять, возникает ли ошибка из-за неверных параметров. Попробуйте следующие команды:

sudo mount -t cifs //192.168.1.4/document /mnt/NAS.Document -o credentials=/etc/systemd.cred.Nas,uid=1000,gid=1000,rw

Если эта команда завершится успешно, значит проблема, скорее всего, связана с конфигурацией systemd.

Заключение

Если после проверки всех описанных шагов проблема все еще сохраняется, возможно, стоит рассмотреть более детальное изучение параметров CIFS и конфигурации сетевой папки на удаленном сервере. Не забывайте следить за обновлениями системы и проверять официальную документацию для получения обновленных рекомендаций по использованию systemd с CIFS.

Эти шаги должны помочь вам наладить монтирование удаленной директории с использованием файла учетных данных в systemd, при этом сохранив безопасность ваших учетных данных.

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

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