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