Nova instalação do MySQL no pfSense retorna 'Bad -c option' quando iniciada

0

esta é a primeira vez que uso o FreeBSD, então há uma chance de eu ter perdido algo grande, mas é improvável.

Então eu quero configurar o mysql no meu servidor pfSense para que eu possa habilitar o log histórico no ntopng. Estou ciente dos perigos de fazer isso e estou tomando as precauções necessárias para manter meu sistema seguro.

Eu o instalei copiando URLs do link e colando-as em pkg add , que funcionou. Eu tenho o mysql56-server e todas as dependências instaladas.

Porque eu estou no pfSense, eu tenho que começar com service mysql-server onestart porque não há rc.conf, mas quando eu faço eu entendo isso:

Starting mysql.
Bad -c option
/usr/local/etc/rc.d/mysql-server: WARNING: failed to start mysql

Eu pesquisei o que bad -c option significa para o mysql e encontrei zero respostas. Nem uma única página descreve um problema semelhante.

Eu tentei excluir /var/db/mysql/* , mas não fez diferença.

Estou perplexo. Agradecemos antecipadamente.

Editar: sim, há um usuário mysql . O pacote fez isso automaticamente.

    
por LAX1DUDE 02.03.2018 / 02:32

2 respostas

0

O erro é devido a algum tipo de método de escape incorreto nos scripts shell do serviço freebsd. Ele tenta su -c 'sh -c "..."' quando você especifica um usuário específico para executar um serviço como, e o mysql parece causar problemas com isso.

Eu entrei no /usr/local/etc/rc.d/mysql-server e comentei a linha 54 mysql_user="mysql" e mudei a linha 55 para mysql_limits_args="-e" e agora o mysql é iniciado corretamente porque o código mencionado acima não é executado.

Não faça isso em sistemas que permitam qualquer conexão pública com o banco de dados! Se alguém encontrar um exploit de execução remota de código, então você está realmente ferrou porque o mysql está rodando como root agora, então os atacantes podem ler / escrever em qualquer arquivo em seu servidor! Usá-lo em localhost para ntopng deve ser seguro, porque nenhuma conexão externa maliciosa pode chegar a ele, mas ainda assim, não é uma boa idéia.

    
por 11.03.2018 / 07:30
0

Apenas para corrigir as coisas, o pfSense não tem um pacote mysql, então você usou os pacotes oficiais do FreeBSD, ao invés disso, fazendo

pkg add http://pkg.freebsd.org/FreeBSD:11:amd64/latest/All/mysql80-server-8.0.2_1.txz

Esta pode ser a fonte do problema.

pfSense 2.3 is based on pkg for the base system and pfSense packages, so the pkg repository from pfSense is used and the standard FreeBSD package repository is not available. Installing packages from FreeBSD is technically possible, but not recommended due to potential dependency problems. Passing the full URL to a package using pkg add will work, but care is needed to avoid future problems.

List of native FreeBSD packages can be found here: http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/

Isso é da documentação do pfSense .

Pode ser que o pacote MySQL tenha algumas dependências em programas / libs para analisar a lista de argumentos (que não pode ser verificada aqui, já que você não incluiu todos os pacotes instalados) ou alguns programas / libs que não são enviados com pfSense (mas são parte do FreeBSD).

Então você tem que verificar se você tem todas as dependências instaladas e isso significa que você tem que rastrear a origem do erro.

Em uma nota secundária, o uso de um appliance / sistema de firewall para servir um banco de dados não é recomendado em geral. Não estou dizendo que isso nunca deve ser feito, mas é um caso de uso incomum.

    
por 05.03.2018 / 10:08