Como posso iniciar o webfsd toda vez que eu inicializo / efetuo login?

2

Estou usando o webfsd , um daemon HTTP leve, para servir conteúdo estático http://localhost:80 da seguinte forma:

sudo webfsd -R ~/Documents/www/ -p 80 -f index.html

Mas eu tenho que executar isso a partir da linha de comando toda vez. Eu suponho que não posso adicionar comandos sudo a programas de inicialização. Então, como posso executá-lo sem precisar invocá-lo toda vez?

(Eu prefiro iniciar na inicialização, e ser acessível sem que eu tenha que fazer login, mesmo que isso signifique mover o local dos arquivos. Mas começando quando eu faço log in é um segundo lugar aceitável. Se isso fizer diferença, eu gostaria de experimentar mais tarde com HTTPS.)

    
por d3vid 16.01.2014 / 10:35

1 resposta

2

Minha primeira ideia foi um roteiro inicial simples. /etc/init/webfs.conf :

description "WebFS server"
start on (local-filesystems and net-device-up)
respawn
exec webfsd -F -p 80 -u d3vid -g d3vid /home/d3vid/Documents/www/ -f index.html

Os argumentos -u e -g são realmente importantes. Esses privilégios de raiz são removidos após a ligação da porta ... O que significa que não há um processo acessível pela rede sendo executado como root que pode ser explorado.

A outra ideia é executá-lo em uma porta alta (> 1024) como você, iniciando automaticamente o que quiser ... E, em seguida, usando um servidor real para inverter o proxy (nginx é uma ferramenta comum e leve aqui) da porta 80 ... Ou apenas use um redirecionamento do iptables.

iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 10010 -j ACCEPT
iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 10010

A vantagem que existe no webfs é que nunca é executado como root ... Mas você só precisa executar os comandos iptable como root a cada inicialização. Balanços e rotundas.

Acho que, se você não está expondo o servidor diretamente à Internet, a primeira rota provavelmente é segura o suficiente.

Mas se você for mais longe, faça o dump do WebFS e use apenas nginx ...

  • Ele faz tudo que o WebFS faz (e muito mais)
  • É simples de usar
  • É eficiente além da razão
  • Seu SSL tem documentação decente
  • Mais importante ainda, muitas pessoas têm interesse em manter o nginx em segurança, incluindo a Canonical, para que você obtenha atualizações rápidas (críticas ao lidar com coisas voltadas para a web)

Para dar a você algum tipo de ideia do que significa eficiente, eu tenho um servidor que hospeda cerca de 20 domínios, alguns deles fazendo um tráfego bastante sério. Os quatro processos de trabalho do nginx são responsáveis por 15MB de RAM combinados e nenhum tempo de CPU observável. É insano.

    
por Oli 16.01.2014 / 11:00