Установка Samba в системе только для чтения

307
SteAlzzer

Я не мог найти ничего полезного в Интернете.

Вот история. Я пытаюсь установить Samba (версия 4.5.12) на Debian (Raspbian, но это не имеет значения). Debian установлен в файловой системе только для чтения. Установка в порядке, но Samba не запускается в режиме RO (только для чтения). Я пытался создать символические ссылки на необходимые данные ( /var/lib/samba files) на внешнем жестком диске (это чтение-запись), но у меня возникла ошибка при запуске Samba - systemctl не удалось запустить smdb.service. В systemctl statusэтом не было ничего интересного. Но samba/log.я обнаружил, что:

[2018/04/01 17:11:55.333301, 0] ../lib/util/util.c:270(directory_create_or_exist_strict) directory /var/lib/samba/private/msg.sock isn't a directory [2018/04/01 17:12:35.116576, 0] ../lib/util/util.c:270(directory_create_or_exist_strict) directory /var/lib/samba/private/msg.sock isn't a directory [2018/04/01 17:42:24.843043, 0] ../lib/util/util.c:216(directory_create_or_exist) mkdir failed on directory /var/lib/samba/private/msg.sock: Read-only file system [2018/04/01 18:04:41.824892, 0] ../lib/util/util.c:216(directory_create_or_exist) mkdir failed on directory /var/lib/samba/private/msg.sock: No such file or directory 

Поиск в Google помог мне выяснить, что directory_create_or_exist_strictфункция в исходном коде Samba проверяет, является ли каталоги (в моем случае /var/lib/samba/private/msg.sock) реальными.

Есть ли какое-нибудь решение для Linux? Должен ли я переписать directory_create_or_exist_strictфункцию или указать абсолютный путь для msg.sockкаталога на внешнем жестком диске? Или есть другой способ зеркалирования этой папки на внешний жесткий диск? Пожалуйста, поделитесь со мной некоторыми советами.

0

1 ответ на вопрос

0
Tonny

Возможно, проблема в том, что вы используете программную ссылку для перенаправления папки samba var на другой диск.
Функциональная ссылка ведет себя несколько иначе, чем реальная папка, и может быть неприемлемой для кода создания сокета samba.

В настройках, подобных вашей, я хотел бы поместить всю файловую систему / var на другой диск (или как tmpfs) и просто смонтировать ее во время загрузки.
Или, если вы не хотите идти до конца, просто создайте файловую систему tmpfs при загрузке и смонтируйте ее в / var / lib / samba.

Точка монтирования должна быть в порядке. В противном случае ни одна система Linux никогда не сможет поместить / var в другую файловую систему.

Похожие вопросы