Это действительно зависит от специфики сети и конструкции устройства хранения.
Если вам абсолютно необходимо смонтировать каталог хранилища как файловую систему, вы, очевидно, застряли с использованием SMB/CIFS или SSHFS (, который просто нуждается в работающей поддержке SFTP на устройстве хранения ). Из этих двух SMB почти всегда обеспечивает более высокую производительность во всем, кроме массовой передачи (, а для массовой передачи любой из них может выиграть ). Если вы можете получить работающую поддержку NFSv4 (, а вы обязательно должны это сделать, если это Ubuntu, независимо от того, что говорит OEM-производитель ), это обычно будет превосходить как SMB/CIFS, так и SSHFS большую часть времени.
Если вы просто хотите передавать данные по сети, то ваши варианты не намного лучше, если честно. SFTP и SCP — это то, что я, вероятно, использовал бы в вашей ситуации, потому что обычный FTP (и FTPS, то есть FTP через SSL ), — это дерьмо, а WebDAV (, независимо от того, через HTTP или HTTPS )не было разработан для сценариев массового хранения (. DAV означает распределенное создание и управление версиями, что довольно хорошо описывает тот факт, что он был разработан как альтернатива FTP для передачи контента на веб-серверы ). В идеальной ситуации для этого я бы использовал либо rsync (, если у меня есть много файлов для передачи ), либо, возможно, просто netcat (, если мне нужно просто скопировать один большой файл ).
У меня не было SElinux на прицеле... Отключение решило проблему.
Если проблему можно решить, отключив 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 (Я написал статью об этом некоторое время назад ).