desabilita o prompt de senha do sudo para o script de inicialização

3

Eu tenho o raspbian instalado e preciso montar um caminho cifs após a conclusão da inicialização. Em fstab obtive uma entrada para isso com o parâmetro noauto . Ao usar auto , a inicialização trava.

Portanto, no raspbian, o arquivo está localizado em /etc/rc.local

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

#mount media storage via cifs
if grep -qs '/media/Seagate' /proc/mounts; then
    echo "Seagate already mounted."
else
    echo "Mounting Seagate.."
    sudo -n mount /media/Seagate
fi

exit 0

De acordo com a página man, o parâmetro -n suprimirá uma solicitação de senha para o comando sudo . Contudo, este não é o caso. Então eu tentei editar o arquivo sudoers .

# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults    env_reset
Defaults    mail_badpass
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) NOPASSWD: ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL

Apenas a linha% sudo é alterada. Eu suponho que o root esteja no grupo sudo e como a linha% sudo está após a linha raiz, nenhuma senha deve ser requerida. Note que o root não tem uma senha de qualquer maneira no raspbian, eu posso preencher qualquer coisa no prompt de senha.

Alguma sugestão? Outras abordagens como crontab também podem ser adequadas

EDITAR 1 Mais informações: existe

#!/bin/sh -e

no topo do arquivo; o parâmetro '-e' aparentemente faz com que ele não pare em erros. As permissões são

drwxr-xr-x 2 root root 4096 Feb 23 12:09
    
por Nino van Hooff 23.02.2014 / 19:32

2 respostas

1

Permissões raiz não eram o problema, a autenticação cifs era.

Porque eu só vi 'Password:' Na tela, eu não sabia dizer o que estava pedindo permissão e presumi que fosse su. Na verdade, eu especifiquei um usuário, mas não uma senha no fstab, assim ele solicitou um. X Tian: obrigado pela sua paciência.

Errado

//192.168.2.1/volume1 /media/Seagate cifs noauto,sec=ntlm,uid=1000,gid=1000,user,_netdev 0 0

Correto

//192.168.2.1/volume1 /media/Seagate cifs noauto,sec=ntlm,uid=1000,gid=1000,guest,_netdev 0 0
    
por 24.02.2014 / 18:53
1

Seu rc.local é executado como root, então você não precisa usar o comando sudo.

adicione uma linha whoami apenas para ver por si mesmo.

    
por 23.02.2014 / 19:41

Tags