Execute o script como root com a pasta home descriptografada

0

Existe a possibilidade de executar um script como root na inicialização, além de poder acessar arquivos no diretório pessoal criptografado?

Eu sei de /etc/rc.local , que pode executar scripts como root, mas como o usuário não está logado, não consigo acessar arquivos no diretório home

Eu também sei dos arquivos de inicialização * .desktop em ~/.config/autostart/ , eles podem acessar o diretório home, pois eles são executados após o login, mas não são executados como root.

Desejo montar automaticamente a minha partição criptografada LUKS enquanto uso um arquivo de chave que está no diretório inicial criptografado. Os comandos mount e cryptsetup requerem raiz.

Prefiro não excluir esses comandos da exigência de direitos sudo, portanto, essa opção não está disponível.

    
por Elektropepi 26.10.2017 / 09:50

1 resposta

1

Parece que você quase já recebeu sua resposta:

  1. Tem que esperar até que o usuário faça o login para descriptografar sua casa
  2. Em seguida, execute os comandos como root, embora ainda exija sudo

  • Eu acho que você só tem que ter um terminal ou janela pop-up após o login pedindo privilégios de sudo.

    Basta criar um arquivo .desktop em ~/.config/autostart que executa os comandos / script precedidos por sudo , semelhante a

    Exec=sh -c "sudo cryptsetup... && sudo mount..."
    

    Se o% normal sudo não exibir um prompt "digitar senha", então gksu soará como a ferramenta que você deseja usar em vez de sudo .

  • Ou modifique seus sudo / sudoers para executar seu arquivo de script específico sem solicitar uma senha, apenas para seu usuário, algo assim (mas veja man sudoers para páginas e páginas de informações):

    myuser ALL=(root) NOPASSWD: /home/myuser/onlythis
    
  • Ou criar um módulo / plugin PAM para automaticamente fazer coisas com sua senha enquanto estiver logando é outra idéia mais complicada)

por 26.10.2017 / 22:19