Web application package guidelines (Português)
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-bit – CLR – CMake – Cross – DKMS – Eclipse – Electron – Fonte – Free Pascal – GNOME – Go – Haskell – Java – KDE – Kernel – Lisp – Meson – MinGW – Node.js – Nonfree – OCaml – Perl – PHP – Python – R – Ruby – Rust – Shell – VCS – Web – Wine
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 doroot
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.