[Dica] Regras e politicas de autenticação para comandos e programas gráficos

Depois adiciono mais informação.

Regras e políticas de autenticação para comandos e programas gráficos.

Para comandos usamos o sudo, e para programas gráficos usamos o polkit.

Entra com comando visudo e altere o arquivo /etc/sudoers.

Usando o programa nano

sudo EDITOR=nano visudo

Exemplos para sudo

Grupo wheel para comandos sem senha

%wheel ALL=(ALL) NOPASSWD: ALL

Grupo wheel para comandos com senha

 %wheel ALL=(ALL) ALL

Grupo wheel para comando pacman sem senha

%wheel ALL=(ALL) NOPASSWD:/usr/bin/pacman

Para um determinado usuário

Usuário swatquest para comandos sem senha

swatquest ALL=(ALL) NOPASSWD: ALL

Usuário swatquest para comandos com senha

swatquest ALL=(ALL) ALL

Usuário swatquest para comando pacman sem senha

swatquest ALL=(ALL) NOPASSWD:/usr/bin/pacman

Exemplos de polkit

Criar arquivo em /etc/polkit-1/rules.d

Pasta padrão fica em /usr/share/polkit-1

Para deixar de modo permanente, sem ser modificado por uma atualização é necessário criar uma regra no /etc.

Arquivo 10-pamac.rules

Ação de autenticação org.manjaro.pamac.commit sem senha

Conteúdo

// Permite pamac sincronizar e instalar sem autenticação
polkit.addRule(function(action, subject) {
    if (action.id == "org.manjaro.pamac.commit")
    {
        return polkit.Result.YES;
    }
});

Arquivo udisk.rules

Ação de autenticação org.freedesktop.udisks2. sem senha para usuários do grupo wheel

Conteúdo

//Permitir acesso sem autenticação em partições externas
polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.udisks2.") == 0 && subject.isInGroup("wheel")) {
        return polkit.Result.YES;
    }
});

Desativar hibernar e suspender.

// Desativar hibernação
polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.login1.hibernate" ||
        action.id == "org.freedesktop.login1.hibernate-multiple-sessions")
    {
        return polkit.Result.NO;
    }
});

// Desativar suspender
polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.login1.suspend" ||
        action.id == "org.freedesktop.login1.suspend-multiple-sessions")
    {
        return polkit.Result.NO;
    }
});
5 curtidas