Após a atualização, rc.local agora dá su deve ser executado a partir de um terminal em rc.local

1

Eu tenho alguns sistemas Ubuntu que usam o comando su dentro do script rc.local. Isso atualiza um repositório git de usuários na máquina local, portanto, é importante que a propriedade dos arquivos seja mantida para o usuário correto.

Isso estava funcionando antes de patches de espectro / fusão, mas agora estou obtendo resultados inconsistentes quando o script é executado. Algumas máquinas são capazes de executar o comando su, mas muitos dizem que "su deve ser executado a partir de um terminal" e o script não é executado.

Estou com dificuldades para entender o que mudou nas últimas atualizações que quebrariam isso.

    
por fyberoptik 23.02.2018 / 10:14

1 resposta

1

Não sei por que o su -s parou de funcionar como antes, mas sudo -u username resolve o problema.

Eu tive que encadear os comandos juntos para alterar o diretório, pois sudo -u username redefine o diretório de trabalho para o diretório pessoal do usuário:

sudo -S -u username -i /bin/bash -l -c 'cd /opt/bin; git reset --hard'
    
por fyberoptik 28.03.2018 / 15:45