solaris 8 script de inicialização pede senha do usuário

3

Eu tenho um script na fase de inicialização do Solaris 8, em /etc/rc3.d , que contém su - username -c "a command" , mas vejo nas mensagens de inicialização que o comando su está solicitando a senha do usuário. O resultado é que a inicialização prossegue (não há console para fornecer a senha do usuário) e o script falha.

O mesmo script em um Solaris 10 funciona fazendo tudo durante a inicialização.

É estranho que o script seja executado como root solicita uma senha de usuário normal.

    
por fluca1978 06.02.2013 / 12:07

1 resposta

1

A menos que você tenha alguns módulos PAM personalizados muito estranhos, não há como o "su" solicitar uma senha quando executado como root. Usando su - user -c ... com um traço (-) em vez de usar su user -c ... , seu script de inicialização está processando seus arquivos "ponto" de inicialização. É provável que algo em seus arquivos de ponto esteja chamando outro su ou que o comando invocado esteja realmente fazendo outro su .

Em uma nota relacionada, para muitos scripts, é útil colocar uma linha lendo exec < /dev/null . Isso impedirá qualquer tentativa de ler a entrada padrão para a maioria das coisas. Isso pode não ajudar em scripts de inicialização e su , porque, a menos que eu me lembre, o Solaris 8 su irá capturar o terminal em vez de stdin.

Verifique os arquivos de pontos. E tente remover o "-" de su para que eles não sejam processados. Se você tiver alguma configuração que precise estar visível para uso interativo e uso pelo script de inicialização, considere colocar apenas essas configurações em um chamado arquivo de ambiente. Os arquivos de ponto e o script de inicialização podem, então, tanto originar o arquivo de ambiente. As configurações no arquivo de ambiente provavelmente serão alteradas raramente e o processo de inicialização terá menos chances de ser impactado por alguém que esteja copiando os arquivos de ponto.

    
por 13.04.2013 / 20:59

Tags