Como desbloquear o chaveiro do GNOME automaticamente no NixOS?

1

Estou usando o GNOME 3 no NixOS 16.09 e não consigo descobrir como tornar o chaveiro "Login" desbloqueado automaticamente no login.

Eu suspeito que isso pode ser corrigido com a opção security.pam.services , mas eu não sou especialista, e a documentação não é muito detalhada ou clara:

This option defines the PAM services. A service typically corresponds to a program that uses PAM, e.g. login or passwd. Each attribute of this set defines a PAM service, with the attribute name defining the name of the service.

Type: list or attribute set of submodules

Default: [ ]

Um problema relacionado, mas menos importante, é que, se eu criar uma nova conta de usuário no NixOS e efetuar login com o GNOME, nenhum chaveiro será criado automaticamente. Na primeira vez que digito uma senha em algum lugar e aceito salvá-la em um chaveiro, recebo um diálogo solicitando uma senha para criar um novo chaveiro padrão:

Choose password for new keyring

An application wants to create new keyring called 'Default keyring'. Choose the password you want to use for it.

Note que ele quer criar um chaveiro chamado "Default keyring", e não "Login", como o Ubuntu faz.

Se eu digitar minha senha de login, o chaveiro será criado, mas no próximo login ele não será desbloqueado automaticamente e será solicitada uma senha na primeira vez que eu tentar usá-la.

Aqui é uma pergunta análoga sobre o KDE Wallet, que até agora não tem resposta aceita.

Existe uma edição relevante relatada para o Nixpkgs.

    
por Alexey 12.02.2017 / 14:47

2 respostas

0

Esse problema é corrigido e, no NixOS 18.03, isso pode ser obtido da seguinte maneira. Se o gerenciador de login for LightDM, defina a opção de configuração

{ # ...
  security.pam.services.lightdm.enableGnomeKeyring = true;
}
    
por 01.04.2018 / 00:43
1

Você pode usar a opção security.pam.services.<name?>.text .

Adicione à sua configuração:

pam.services = [
  { name = "gnome_keyring"
    text = ''
      auth     optional    ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so
      session  optional    ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so auto_start

      password  optional    ${gnome3.gnome_keyring}/lib/security/pam_gnome_keyring.so
    '';
  }
];

Isso adicionará a entrada pam necessária em /etc/pam.d

$ cat /etc/static/pam.d/gnome_keyring

auth     optional    /nix/store/ffcm7771dvva2xs56dzp6avxzf0pg35x-gnome-keyring-3.20.0/lib/security/pam_gnome_keyring.so
session  optional    /nix/store/ffcm7771dvva2xs56dzp6avxzf0pg35x-gnome-keyring-3.20.0/lib/security/pam_gnome_keyring.so auto_start

password        optional        /nix/store/ffcm7771dvva2xs56dzp6avxzf0pg35x-gnome-keyring-3.20.0/lib/security/pam_gnome_keyring.so
    
por 30.04.2017 / 02:54