служба systemd не запускается (отказано в доступе)

Это действительно зависит от специфики сети и конструкции устройства хранения.

Если вам абсолютно необходимо смонтировать каталог хранилища как файловую систему, вы, очевидно, застряли с использованием SMB/CIFS или SSHFS (, который просто нуждается в работающей поддержке SFTP на устройстве хранения ). Из этих двух SMB почти всегда обеспечивает более высокую производительность во всем, кроме массовой передачи (, а для массовой передачи любой из них может выиграть ). Если вы можете получить работающую поддержку NFSv4 (, а вы обязательно должны это сделать, если это Ubuntu, независимо от того, что говорит OEM-производитель ), это обычно будет превосходить как SMB/CIFS, так и SSHFS большую часть времени.

Если вы просто хотите передавать данные по сети, то ваши варианты не намного лучше, если честно. SFTP и SCP — это то, что я, вероятно, использовал бы в вашей ситуации, потому что обычный FTP (и FTPS, то есть FTP через SSL ), — это дерьмо, а WebDAV (, независимо от того, через HTTP или HTTPS )не было разработан для сценариев массового хранения (. DAV означает распределенное создание и управление версиями, что довольно хорошо описывает тот факт, что он был разработан как альтернатива FTP для передачи контента на веб-серверы ). В идеальной ситуации для этого я бы использовал либо rsync (, если у меня есть много файлов для передачи ), либо, возможно, просто netcat (, если мне нужно просто скопировать один большой файл ).

1
02.11.2019, 18:43
2 ответа

У меня не было SElinux на прицеле... Отключение решило проблему.

2
27.01.2020, 23:57

Если проблему можно решить, отключив SELinux, стоит копнуть глубже и выяснить, почему.

(Вы бы не отключили брандмауэр, чтобы открыть порт 80, не так ли?)

В данном конкретном случае, чтобы двоичный файл или сценарий вызывались через файл модуля systemd, он должен иметь тип SELinux bin_t(, поскольку файлы в /usr/binи /usr/sbinобычно имеют тип ).

Чтобы узнать, какой тип имеет файл, используйте lsфлаг -Z. Затем установите соответствующий тип:

chcon -t bin_t /opt/teamspeak/ts3server_startscript.sh

Чтобы узнать, какие действия были заблокированы SELinux (и почему ), просмотрите журнал аудита в /var/log/audit/audit.log.

Однако чаще всего изменения типа SELinux файла недостаточно:

  • Иногда вам нужно будет использовать командуsemanage fcontext …(справочной страницы здесь)для внесения постоянных изменений контекста безопасности (, чтобы новые файлы в каталоге наследовали правильный контекст ).

  • Иногда существует логическое значение для той цели, которую вы пытаетесь выполнить.

  • В худшем случае вам потребуется скомпилировать пакет политики SELinux (Я написал статью об этом некоторое время назад ).

6
21.05.2020, 21:23

Теги

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