Que usuário executa os comandos definidos em /etc/rc.local?

9

Os comandos em /etc/rc.local foram executados por su por padrão?
Preciso de sudo específico antes de cada comando ou eles serão executados por su independentemente?

    
por S-K' 18.06.2015 / 18:54

2 respostas

13

su não é um usuário é programa para executar comandos / programas subseqüentes sob uma identidade alternativa de outro usuário que não aquele que está executando o comando. É muito semelhante a sudo a esse respeito.

A menos que outro usuário seja especificado, ambos os comandos serão padronizados para executar o comando na identidade alternativa do root usuário, o superusuário / administrador.

A principal diferença entre su e sudo é isso:

  • su exige que você saiba a senha desse usuário alternativo, onde
  • sudo solicitará a senha do usuário que está executando o comando sudo e requer configuração para que o usuário possa executar os comandos / programas solicitados.

(quando root executa su ou sudo nenhuma senha é necessária.)

Como qualquer script de inicialização, o script /etc/rc.local é executado pelo usuário root e você não precisa inserir su ou sudo nos comandos / programas que precisam para executar como root.

Você ainda pode precisar usar su ou sudo em seus scripts de inicialização se esses comandos precisarem ser executados não como root , mas outro usuário / conta de serviço ...

su - oracle /do/something/as/oracle/user

    
por 19.06.2015 / 09:31
9

Sim, todos os scripts e programas são chamados diretamente pelo root.

O arquivo /etc/rc.local é chamado diretamente pelo processo init.

    
por 18.06.2015 / 18:58