Onde armazenar o aplicativo que desenvolvo?

1

Estou desenvolvendo uma aplicação de servidor para o servidor ubuntu, os clientes se conectarão através da conexão de soquete. Está em fase beta e sob strong desenvolvimento. No momento muitas pessoas estão usando e é atualizado quase todos os dias. Então, eu começo a considerar seriamente os problemas de segurança e, ao mesmo tempo, não me restrinja muito. Agora tenho duas perguntas:

  1. Onde é o local apropriado para armazenar seus arquivos? Aplicação consiste em executável, alguns arquivos de configuração e script de inicialização. Mas eu não quero espalhá-lo através do sistema de arquivos, basta armazenar em uma única pasta por conveniência, pois o aplicativo está em desenvolvimento pesado. Meu palpite seria criar um novo diretório em /var . No momento, eu o armazeno na minha pasta pessoal.

  2. Preciso criar um usuário separado para isso? Eu inicio usando o script init.d via sudo -u me . Quero restringir seu acesso ao sistema para fins de segurança, mas ao mesmo tempo quero atualizá-lo por meio do FTP e não entrar em problemas de acesso (o usuário que faz o upload é diferente do usuário que o executa e às vezes precisa escrever acesso a alguns arquivos). Como fazer isso?

ATUALIZAÇÃO: Esqueci de mencionar que esta aplicação não é redistribuível. É um serviço da web que existirá em instância única em nosso servidor.

    
por Poma 06.09.2011 / 21:43

3 respostas

2

Estes são realmente de preferência, por isso vou responder como tal.

Sugiro usar / opt / appname para manter seus arquivos. Alguns dos projetos que eu trabalhei ganham no passado deixam tudo lá e depois separam as subpastas de lá. Você também pode vincular seu script de inicialização a esse diretório.

Se você estiver usando um usuário dedicado para executar o aplicativo, seu instalador deve geralmente criar o ID do usuário a ser usado. Isso, no entanto, é uma questão de preferência da minha parte. Eu vi muitos projetos de qualquer forma.

    
por 06.09.2011 / 21:50
1

Where is the appropriate place to store its files? Application consists of executable, some config files and startup script. But I don't want to spread it accross the filesystem just store in single folder for convenience since app is under heavy development. My guess would be to create new dir under /var. Right now I store it in my home folder.

Acredito firmemente que você deve seguir o FHS especialmente enquanto o desenvolvimento é pesado, você deve desenvolver o seu aplicativo para seguir os padrões para que possa ser usado na produção. A configuração pertence a / etc, binários geralmente sob / usr / bin, dados por usuário em / home, dados compartilhados em / var ou / srv. Se você quiser que tudo pareça estar em uma única pasta, use os links simbólicos para que tudo pareça estar em um único local. Comece a desenvolvê-lo corretamente no começo, e você não vai encontrar nenhuma pegadinha esquisita no futuro quando perceber que tomou uma decisão ruim, que exigiria muito esforço para fazer tudo certo.

No melhor mundo, seu aplicativo pode ser facilmente reconfigurado e nenhum caminho foi criado. Facilite a movimentação da configuração, dos dados para qualquer lugar que seja apropriado.

Do I need to create separate user for it?

Depende completamente do aplicativo, mas você deve evitar que os serviços sejam executados como root sempre que possível. Você também deve evitar executá-lo como sua conta pessoal.

    
por 06.09.2011 / 21:50
0

Se for o seu aplicativo, você poderá armazená-lo em / opt, pois é um aplicativo de terceiros. Você pode encontrar mais informações sobre a estrutura de diretórios em link

    
por 06.09.2011 / 21:56