executa um script de rc.local, que existe em um compartilhamento nfs autofs

0

Montei algumas exportações do nfs de um servidor de arquivos para minha estação de trabalho. A estação de trabalho é ubuntustudio 64bit 14.04.

para tornar as montagens o mais transparentes possível, inseri o seguinte no meu .bashrc

SG=sg
mount | grep $SG &> /dev/null 
if [ $? -eq 1 ] ; then
        sudo mount -o vers=3 fileserver:/nfs/home/nass ~/$SG
fi

Então eu basicamente montei minhas pastas quando o primeiro shell de login é acionado. Isso funciona bem quando eu faço logon no pc e abro um terminal - que é o que eu costumo fazer.

Eu gostaria que essa montagem ocorresse automaticamente durante a inicialização e a escolha óbvia é adicionar o snippet acima em /etc/rc.local .

Em seguida, adiciono um comando para executar meu script, mas quero executá-lo como meu usuário (e não como root).

/home/nass/audio_setup/scripts/start_audio 2>&1 | tee -a  /tmp/audio.log

mas como eu posso ver no arquivo audio.log

/etc/rc.local: 22: /etc/rc.local: /home/nass/audio_setup/scripts/start_audio: not found

por que isso acontece? o que estou perdendo?

    
por nass 17.04.2015 / 03:49

1 resposta

2

Você poderia adicionar o comando mount a /etc/fstab em vez de fazê-lo com um script? Quanto à segunda parte, o rc.local é executado pela raiz por padrão, portanto, se você não estiver tomando as medidas para executar como nass, estará montando o compartilhamento do NFS como / root / sg. Se você quer que ele seja executado como um usuário diferente do rc.local, você teria que fazer algo como

su nass -c '/home/nass/audio_setup/scripts/start_audio'

    
por 17.04.2015 / 03:56

Tags