Modifica a variável de ambiente PATH padrão no Solaris 10

2

Eu sei que eu poderia modificar o / etc / profile .. mas existe uma maneira melhor? Eu sei que o / etc / profile afetará os terminais, mas quero que todos os processos sejam afetados. crontab, gerenciador de serviços, scripts de inicialização, etc.

Editar: Eu tenho uma resposta para editar o PATH para o cron .. mas ainda quero um para scripts de inicialização e executáveis que são chamados pelo gerenciamento de serviços.

    
por George Bailey 05.01.2011 / 16:29

2 respostas

2

Você precisa considerar o ambiente no qual alguns de seus aplicativos acima estão em execução. Há implicações de segurança para executar esses tipos de comandos com PATHs que eles não estão esperando. Um usuário mal-intencionado que tenha acesso a um diretório no início do PATH poderá substituir seus próprios comandos e obter acesso, etc.

Os scripts de inicialização geralmente usam caminhos completos para os comandos que desejam executar (alguns podem definir um PATH restrito) - isso garante que os comandos esperados sejam executados.

Ao invocar um serviço, o SCM não usa PATHS, ele usa manifests ( /var/svc/manifest/... ). Manifestos são arquivos xml e contêm todas as informações necessárias para definir como interagir com um determinado serviço. Novamente, caminhos completos para comandos são usados para garantir que os comandos esperados sejam executados.

Você pode definir um padrão PATH (usuários normais) ou SUPATH (para raiz) em /etc/default/cron . Novamente, você deve considerar as implicações de segurança de fazer isso - é muito melhor usar caminhos completos para comandos e fazer com que os comandos definam seu próprio PATH, se necessário.

Acredito que o PATH padrão que o init transmite para o SMF e para os scripts init é compilado no init binário e não pode ser alterado. É explicitamente não lido / etc / default / init.

    
por 10.01.2011 / 17:12
0

Concordo com @lain que você deve usar apenas caminhos completos para os comandos que deseja. Dito isto, a maioria dos métodos smf source /lib/svc/share/smf_include.sh . Você poderia alterar a variável PATH lá, mas eu diria que geralmente é uma má ideia.

    
por 24.02.2011 / 06:04