Jump to content

# Web application package guidelines (Português)

2 languages

- English
- 日本語

From ArchWiki
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.

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.

Category:

- Arch package guidelines (Português)