Вопрос или проблема
Я попытался подключить мой nvr к папке samba для создания записи. Если я создаю папку в /dev/sda
, это работает, но мне нужно добавить папку, которую я создал в /dev/sdb
.
Вот мой код:
sudo apt update
sudo apt upgrade -y
sudo apt install samba
sudo nano /etc/samba/smb.conf
[record]
path = /media/lukastech/..../record
browsable = yes
read only = no
guest ok = no
force user = lukaslab
sudo mkdir -p /media/lukastech/..../record
sudo chmod -R 0775 /media/lukastech/..../record
sudo smbpasswd -a lukaslab
sudo chown -R lukaslab:lukaslab /media/lukastech/..../record
sudo systemctl restart smbd.service
sudo systemctl status smbd.service
sudo ufw enable
sudo ufw allow samba
sudo ufw app list
sudo ufw status
Вот что я вижу в журнале.
failed: Permission denied. Current token : uid=1001, gid=1001, 2 groups :1001 100
nvr говорит, что имя пользователя и пароль неверны, но я проверил их несколько раз, и они верны.
информация о пути:
[record]
path = /media/lukastech/..../record
browsable = yes
read only = no
guest ok = no
force user = lukaslab
sudo smbpasswd -a lukaslab
Ваш путь мне не ясен, но lukastech — это имя пользователя?
Если это так, только пользователь: lucastech сможет попасть в папку записи.
Вам нужно изменить:
force user = lucaslab
На:
force user = lukastech
Затем перезапустите smbd
И вам нужно будет изменить владельца (на lukastech) или разрешения (на 777) самой папки “record”, если вы хотите иметь возможность записывать в эту папку.
Ответ или решение
Ошибка подключения Samba может возникать по различным причинам, и для её решения необходимо тщательно проверить все этапы настройки и конфигурации. В данной ситуации проблема возникает при попытке подключить сетевой видеорегистратор (NVR) к общему ресурсу Samba, который расположен на другом диске, а именно в папке на dev/sdb
. Давайте подробно рассмотрим возможные причины ошибки и пути её решения.
Теория
-
Права доступа и аутентификация: Сообщение об ошибке "Permission denied" указывает на проблему с правами доступа. Samba использует систему прав операционной системы для контроля доступа к файлам и папкам. Кроме того, важно правильно настроить аутентификацию, чтобы NVR мог успешно аутентифицироваться на сервере Samba.
-
Конфигурация Samba: Файл конфигурации Samba (
smb.conf
) определяет, какие ресурсы доступны клиентам, какими правами они обладают и какой пользовательский доступ к ним разрешён. Необходимо убедиться, что конфигурация правильно отражает ваши намерения и не содержит ошибок. -
Проблемы с именами пользователей: Если имя пользователя, под которым происходит подключение, не совпадает с тем, что настроено в Samba или в системе, аутентификация провалится.
Пример
В файле конфигурации Samba указано:
[record]
path = /media/lukastech/..../record
browsable = yes
read only = no
guest ok = no
force user = lukaslab
Проблема может заключаться в том, что имя пользователя, указанное в параметре force user
, не совпадает с фактическим именем пользователя, которому принадлежат файлы и папки. В вашем случае, возможно, стоит использовать lukastech
вместо lukaslab
.
Применение
-
Проверка имени пользователя: Убедитесь, что системный пользователь, указанный в параметре
force user
, и пользователь, в чьих правах создавался файл пароля Samba через командуsmbpasswd
, совпадают. Если имя пользователя неправильно, то вы не сможете подключиться к ресурсу:force user = lukastech
-
Права доступа к директории: Проверьте, что у пользователя
lukastech
есть необходимые права на запись в директорию/media/lukastech/..../record
. Если необходимо, измените владельца и права:sudo chown -R lukastech:lukastech /media/lukastech/..../record sudo chmod -R 0775 /media/lukastech/..../record
Если нужно, можете временно установить более широкие права для диагностики:
sudo chmod -R 0777 /media/lukastech/..../record
-
Перезагрузка и проверка сервиса: После внесения изменений в конфигурацию нужно перезапустить службу Samba:
sudo systemctl restart smbd.service
И убедитесь, что она успешно запустилась без ошибок:
sudo systemctl status smbd.service
-
Диагностика прав доступа на уровне системы: Если проблема сохраняется, выясните, есть ли какие-либо ограничения или ошибки, связанные с монтированием диска
dev/sdb
. Убедитесь, что диск примонтирован с необходимыми правами на запись. -
Логирование и анализ логов: Посмотрите логи системы и Samba для получения более детальной информации. Логи находятся обычно в
/var/log/samba/
и могут содержать конкретные ошибки, связанные с аутентификацией или доступом по CIFS/SMB. -
Брандмауэр и сетевые настройки: Убедитесь, что служба доступна на уровне сети и что нужные порты открыты. Команда
sudo ufw allow samba
должна обеспечить доступ, но убедитесь, что настройка выполнена правильно.
Следуя этим шагам, вы должны найти причину проблемы и устранить её. Убедитесь, что в процессе диагностики и настройки системы ваши изменения не нарушают общую безопасность и функциональность сервера.