Eu criei um script em /etc/profile.d
(centos6), não relacionado ao fantoche de forma alguma, em vez disso, basta copiar alguns arquivos para um diretório de usuários. De alguma forma, em um servidor mestre da empresa fantoche, esse script está interferindo no serviço pe-postgresql
e fazendo com que o servidor seja atrasado na inicialização e não permitirá que esse serviço seja executado.
Este script de perfil tem um recurso que solicita ao usuário o logon e pergunta se ele deseja instalar (y, n), se um dos arquivos não for encontrado. Eu suspeito que isso está acontecendo em segundo plano para algo quando um serviço de marionetes está começando em algum lugar, fazendo com que o serviço falhe.
#/etc/profile.d/custom.sh
if [ ! f ~/.custom ]; then
logPrompted;
while true; do
read -p "Do you want to install?)" yn
case $yn in
[Yy]* )
installCustom;
break;;
[Nn]* )
logOptedOut;
break;;
* ) echo "Please enter y or n!";;
esac
done
fi
Assim que mover o arquivo para fora de /etc/profile.d
, os problemas param. Por exemplo. sudo service pe-postgresql start
falha toda vez que esse script está em vigor.
Quando olho para os usuários fantoches cat /etc/passwd | grep pe-
, posso verificar se todos eles são nologin
.
Há algo que está faltando aqui ou outro usuário do serviço de marionetes que estou perdendo. o que é possivelmente interativo.
Eu adicionei o registro em cada execução para ver quando foi executado ( logPrompted
), antes da pergunta, reportando $(whoami)
, na esperança de descobrir o usuário oculto e, no log, vi pe-postgres
sendo registrado cada vez que "eu" tentar reiniciar o serviço, mas isso não é consistente.
olhando para / etc / passwd, esse usuário é pe-postgres:x:492:493:Puppet Enterprise PostgreSQL Server:/opt/puppet/var/lib/pgsql:/sbin/nologin
Estou tentando descobrir como posso evitar esse usuário ou qualquer usuário nologin
para interagir com este script de perfil.
Há algo que eu possa precisar adicionar ao início de um script profile.d para salvaguardar esse tipo de coisa?