O assunto é novo, distros sem suporte financeiro estão deixando ou ameaçando deixar o Brasil por medo de processo jurídico e como eu contribuo com o Tiger OS que é brasileiro aproveitei um tempinho para fazer a base do que pode ser a solução para as legislações de idade
Primeiro vamos entender o que a lei pede e o que o Linux entrega:
Verificação de idade
Acho que é o mais óbvio, a lei obriga sistemas operacionais a adicionarem um mecanismo de verificação de idade
Proteção contra bypass
Obviamente não é tão simples, o adolescente/criança não deve poder facilmente burlar o mecanismo
O que o Linux oferece?
Todo sistema unix-like usa as informações em /etc/passwd para armazenar informações sobre usuários. Isso não é informação extra, é amplamente conhecido, o que talvez seja novidade é o campo GECOS, no terminal, basta disparar:
sudo chfn nome_usuario
E responder o questionário, mas note dois problemas:
- Não existe um campo data de nascimento
- O próprio usuário pode mudar
Os criadores do Unix não eram burros, então eles colocaram o campo 5 para você preencher como quiser
sudo chfn -o "09/03/2010" nome_usuario
E no Linux podemos restringir ao grupo admin (aí é só a criança não estar nesse grupo, é óbvio):
sudo nano /etc/pam.d/chfn
E colocamos na primeira linha:
account required pam_succeed_if.so user ingroup admin
E pronto Lei Felca Owned… Bem a lei sim, o problema é o custo
Não dá pra restringir um único campo, você restringe todos assim, não é o ideal
Resolvendo
A ideia mais óbvia, uma solução que permite o usuário preencher quantos campos quiser, e ainda restringe quais apps a pessoa pode acessar, e assim nasce o user-data, a ideia é a mesma do chfn a diferença é que:
- Usuários admin podem mexer e ver os campos de todos os usuários
- Usuários não admin podem mexer nos seus campos que começam com custom. e ver apenas os seus campos
E apesar da lei obrigar apenas a servidores o histórico das alterações no último ano de campo são mantidas seguindo a LGPD, sem mais enrolação, a documentação+implementação de referência:
API simplificada:
Definir:
sudo user-data nome_usuario set data-nascimento "09/03/2010"
Obter:
sudo user-data nome_usuario get data-nascimento
Verificar se foi definido:
sudo user-data nome_usuario has data-nascimento
Apagar (set sem passar valor):
sudo user-data nome_usuario set data-nascimento
Apenas root pode acessar os arquivos, mas essa API permite acesso controlado
O script é mais versátil que a lei e pode unificar preferência entre desktops:
sudo user-data nome_usuario set custom.wallpaper "/caminho/pro/wallpaper"
Permitindo uma única fonte de verdade para customização