Quando inicio firejail
, vejo meu diretório pessoal completo. Quando inicio firejail --whitelist=~/something
, vejo apenas something
em minha casa.
Agora eu gostaria de restringir mais acesso ao sistema. Por exemplo, posso adicionar --blacklist=/media
e funciona como esperado.
Mas como o comportamento padrão determina que /home/OTHERUSER
e /home/*
, exceto os arquivos permitidos, estão ocultos?
Não vejo uma regra correspondente em /etc/firejail/*
.
E os subdiretórios são permitidos? Por exemplo, --blacklist=/media --whitelist=/media/data
não funciona como esperado, mesmo quando a página de manual informa, essa lista de permissões anula outras opções como --read-only
.
Essas regras são codificadas no binário? Se não, qual regra faz essas coisas?
Um exemplo do que eu gostaria de ter. Regras básicas:
/media/data
~/apps ->/media/data/apps
somente leitura. /media/data/apps
(se necessário) somente leitura. 1, 2 estão funcionando, 3 está trabalhando apenas com 4 (provavelmente está bem), mas a sobreposição do acesso de leitura para um subdiretório de um diretório proibido não funciona.
Parece um pouco intuitivo que funcione, mas na camada do sistema de arquivos mkdir -p foo/bar;chmod 111 foo;ls foo/bar/
(onde 111
significa que não há permissão de leitura (dir-listing) no foo, mas apenas o bit executável (entrada) subdiretórios) funciona, mesmo quando ls foo/
falha.
O cenário estendido não permitiria todos, exceto uma lista de desbloqueio (perfil + / usr, / bin, / lib, etc.). Outra coisa que não parece possível sem o root (e depois o próprio aplicativo é executado como root) é substituir o arquivo / etc / passwd por um que não contenha usuários, o que não deve ser conhecido na cadeia. /etc
contém muitos dados legíveis, que devem ser ocultados de aplicativos não confiáveis.
Mas possivelmente o cenário estendido justificaria um contêiner chroot + userspace-lxc completo.
Tags firejail