Comentando ou removendo um @include do /etc/pam.d/sshd com o augtool

1

Como eu posso comentar ou remover a linha "@include common-auth" em /etc/pam.d/sshd? O conteúdo padrão é:

...

# Standard Un*x authentication.
@include common-auth

...

A documentação da lente não é de todo útil. Sou novo em Augeas e não sei bem como funcionam as expressões de caminho ainda.

Estou tentando fazer isso com o augtool, como parte de um Dockerfile, para ser específico. Eu tentei ingenuamente o seguinte comando, mas não funcionou:

augtool --autosave 'rm /files/etc/pam.d/sshd/@include common-auth'

Eu recorri a fazer isso com sed , e o seguinte fez o trabalho para mim:

sed -i 's/@include common-auth/#@include common-auth/' /etc/pam.d/sshd

Mas ainda estou tentando descobrir se há uma maneira de fazer isso com o augtool, porque estou fazendo todas as outras alterações de configuração no meu Dockerfile usando o augtool, e a uniformidade seria boa.

    
por Ates Goral 18.02.2017 / 15:19

1 resposta

1

A coisa mais importante a fazer ao tentar descobrir qual nó editar / excluir é olhar para a árvore atual usando o comando print do augtool:

$ augtool
augtool> print /files/etc/pam.d/sshd
/files/etc/pam.d/sshd
/files/etc/pam.d/sshd/#comment[1] = "PAM configuration for the Secure Shell service"
/files/etc/pam.d/sshd/#comment[2] = "Standard Un*x authentication."
/files/etc/pam.d/sshd/include[1] = "common-auth"
/files/etc/pam.d/sshd/#comment[3] = "Disallow non-root logins when /etc/nologin exists."
/files/etc/pam.d/sshd/1
/files/etc/pam.d/sshd/1/type = "account"
[..]

Isso mostra que a linha @include common-auth tem o caminho /files/etc/pam.d/ssh/include[1] , portanto, isso seria excluído:

augtool -s 'rm /files/etc/pam.d/sshd/include[1]'

Em vez de codificar o índice (1), você pode usar uma expressão de caminho para corresponder ao valor "common-auth", garantindo que você exclua a entrada correta @include , se existir.

augtool -s 'rm /files/etc/pam.d/sshd/include[. = "common-auth"]'

O . significa o valor do nó (o lado direito da saída print ). Qualquer coisa dentro do [] é uma expressão de caminho. O Wiki do Augeas tem muito mais informações sobre expressões de caminho.

    
por 21.02.2017 / 09:24

Tags