configuração senha sudo diferente da senha de login

6

Eu estou tentando usar o PAM para usar uma senha diferente para o sudo do que para fazer login.

Eu trabalhei fora deste post originalmente

Defina a senha do sudo de forma diferente do login um

Infelizmente, toda vez que faço isso, acabo com um erro de autenticação e não tenho certeza do que está errado. Talvez eu esteja codificando minha senha incorretamente ou adicionando ao banco de dados incorretamente, mas não tenho certeza de qual é o problema.

A configuração para o sudo lê

session    required   pam_env.so readenv=1 user_readenv=0

session    required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0

auth required pam_userdb.so crypt=crypt db=/var/local/sudopass/passwd.db

\#@include common-auth

@include common-account

@include common-session-noninteractive

Eu configurei a senha usando passwd -m des password para fins de teste e, em seguida, use o db5.3 para criar o banco de dados passwd.db

db5.3_load -h /var/local/sudopass -t hash -T passwd.db

my_username

73o8ECeyEW3Y2 (hash de senha)

E, em seguida, erro de autenticação. Note, quando eu coloco este banco de dados em meu diretório home, então o PAM não consegue nem encontrar o banco de dados, não importa como eu configure as permissões.)

Current auth.log dump

Estou com problemas para obter o erro de autenticação, mas aqui está o problema atual em auth.log Oct 18 12:07:43 az-GlAdOS-mk11-m sudo: pam_userdb(sudo:auth): Verify user az 'com uma senha

Oct 18 12:07:43 az-GlAdOS-mk11-m sudo: pam_userdb (sudo: auth): user_lookup: não foi possível abrir o banco de dados '/var/local/sudopass/passwd.db': Nenhum arquivo ou diretório

Oct 18 12:07:43 az-GlAdOS-mk11-m sudo: az: erro de autenticação PAM: erro no módulo de serviço; TTY = pts / 4; PWD = / home / az; USER = root; COMANDO = / bin / nano /etc/pam.d/sudo '

    
por RhythmInk 12.10.2018 / 14:16

2 respostas

4

Você poderia usar a opção targetpw em sudoers , o que faria sudo pedir não sua própria senha, mas a senha do usuário que você quer executar o comando como (que na maioria dos casos é root ). Você pode usar senhas diferentes para seu próprio usuário e a conta de usuário root .

Use o trecho a seguir em seu arquivo sudoers para habilitar globalmente esse comportamento (edite-o com visudo ):

Defaults targetpw
ALL ALL=(ALL) ALL

A segunda linha significa que todos os usuários do sistema podem usar o sudo se souberem a senha do usuário alvo. Se você omiti-lo, a associação do grupo configurado e a senha do destino são ambas necessárias. (Observe que você pode contornar o requisito de grupo se tiver acesso a su , pois ele não honra essa configuração.)

Você também pode usar uma das duas variantes a seguir, que só aplicarão a diretiva targetpw a um usuário ou grupo específico, respectivamente:

Defaults:username targetpw
username ALL=(ALL) ALL

Defaults:%groupname targetpw
%groupname ALL=(ALL) ALL

(Não não especifique ALL ALL=(ALL) ALL se você usar um desses!)

    
por 22.10.2018 / 13:00
2

O guia ao qual você está vinculado é de 5 anos atrás. O PAM não usa mais DES. Tente usar isso para gerar seu hash de senha:

echo pass|mkpasswd -s -m sha-512
    
por 18.10.2018 / 18:19