Resolvi o principal problema da Lei Felca no Linux

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:

  1. Não existe um campo data de nascimento
  2. 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

7 curtidas

eu sou um completo leigo em linux e to aprendendo agora, recentemente peguei o notebook da minha prima pra formatar e instalar o tiger os nele, queria saber se isso ja pode ser feito e como faço de forma passo a passo pra uma leigo como eu implementar isso ai no notebook dela

Colega, não compreendi na prática como funciona.

É o usuário que irá declarar sua idade?

É uma API independente de distribuição, ambiente gráfico ou formato de empacotamento:

  1. Um usuário administrador (grupo de sistema admin) pode definir a data de nascimento (e outras características) de todos os usuários
  2. Um usuário que não é administrador consegue definir características de personalização, mas não consegue alterar características que não comecem com custom

É basicamente um controle parental compatível com a Lei Felca e um universalizador de configurações:

Um mesmo comando poderia por exemplo definir uma configuração no GNOME, KDE, XFCR e hyprland ao mesmo tempo, assim como algumas informações apenas pais podem modificar

2 curtidas

Pode tranquilo, mas abre um novo tópico

1 curtida

Excelente iniciativa, @Natanael.755!!! Parabéns!!!