Shell Script para corrigir a idade mínima da senha não funciona, mas sem erros

Shell Script para corrigir a idade mínima da senha não funciona, mas sem erros

O objetivo deste script é alterar a idade mínima da senha no arquivo /etc/login.defs.

Meu problema é que esse script é executado, não recebo nenhum erro, mas quando acesso o arquivo, nada mudou. Não sou muito bom com sed, então presumo que algo esteja errado. Precisa de ajuda para descobrir o que há de errado nisso.

min_pass_age=7

sed -i "s/^PASS_MIN_DAYS.*/PASS_MIN_DAYS ${min_pass_age}/" /etc/login.defs

Responder1

Corrigido algumas coisas. Precisa do /g no final porque precisa pegar os do início da linha e ignorar as linhas comentadas. Não é necessário usar aspas duplas, deve usar apenas aspas simples.

sed -i 's/^PASS_MAX_DAYS.*/PASS_MAX_DAYS 90/g' /etc/login.defs

sed -i 's/^PASS_MIN_DAYS.*/PASS_MIN_DAYS 7/g' /etc/login.defs

informação relacionada