Web application package guidelines (Português)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Status de tradução: Esse artigo é uma tradução de Web application package guidelines. Data da última tradução: 2019-06-28. Você pode ajudar a sincronizar a tradução, se houver alterações na versão em inglês.
Diretrizes de pacotes do Arch

32-bitCLRCMakeCrossDKMSEclipseElectronFonteFree PascalGNOMEGoHaskellJavaKDEKernelLispMesonMinGWNode.jsNonfreeOCamlPerlPHPPythonRRubyRustVCSWebWine

Essa página descreve como empacotar aplicativos web.

Usuário separado

Por motivos de segurança, cada aplicativo web deve ser executado como um usuário separado (sem privilégios) (p.ex., $pkgname).

Nota: Tradicionalmente, muitos aplicativos eram executados como o usuário/grupo http, o que pode ser considerado como inseguro, pois em tal cenário aplicativos podem ler os arquivos um dos outros.

Consulta as páginas man systemd-sysusers(8), sysusers.d(5), systemd-tmpfiles(8) e tmpfiles.d(5) para detalhes sobre como criar usuários com propriedade de arquivos e pastas para aquele usuário em um pacote.

Estrutura de diretórios

O layout segue o FHS.

  • /usr/share/webapps/$pkgname: O diretório de dados do aplicativo detém os arquivos do aplicativo web. Arquivos são de propriedade do root e são, portanto, somente-leitura pelo usuário e grupo do aplicativo $pkgname.
  • /etc/webapps/$pkgname: O diretório de configuração do aplicativo detém arquivos de configuração para o aplicativo (por link simbólico para o diretório de dados). Os arquivos localizados aqui têm que ir para vetor backup e são de propriedade do usuário e grupo $pkgname.
Atenção: Arquivos potencialmente contendo informações de autenticação devem ser protegidos (p.ex., não podem ser lidos por nenhum outro usuário ou grupo no sistema, exceto root e $pkgname)!
  • /run/$pkgname: O diretório de runtime do aplicativo (de propriedade do usuário e grupo $pkgname). Ele pode ser usado para soquetes (p.ex., em configurações facilitando ativação de soquete).
Nota: De acordo com as diretrizes do pacote em diretórios, /run não deve estar contido em um pacote. Use tmpfiles para adicionar o diretório com permissões correspondentes.
  • /var/cache/$pkgname: O diretório de cache do aplicativo (de propriedade do usuário e do grupo $pkgname). Ele (ou subpastas nele) é vinculado ao diretório de dados para aplicativos que requerem diretórios de cache que podem ser escritos.
  • /var/lib/$pkgname: O armazenamento persistente do aplicativo (de propriedade do usuário e grupo $pkgname). Ele (ou subpastas nele) é vinculado ao diretório de dados para aplicativos que exigem diretórios de armazenamento persistentes.