Como posso fazer o Ubuntu pedir minha senha antes de montar os drives USB? [duplicado]

4

ESTE POST NÃO É DUPLICADO, EMBORA TENHA SIDO MARCADO COMO TAL. NÃO ONDE, NA ALEGADA PÁGINA DUPLICADA, MENCIONE AS UNIÕES EXTERNAS OU COMO DIFERENCIÁ-LOS DENTRO DO POLKIT

Eu fiz algumas pesquisas e encontrei a minha pergunta já. É uma duplicata de é possível fazer o Ubuntu pedir minha senha antes de montar os drives USB?

o problema é que eles não responderam a essa pergunta de pessoas. Ele não perguntou sobre criptografar uma unidade. Seu problema, assim como o meu, não é proteger uma única unidade flash / usb, ela está protegendo seu sistema Ubuntu de alguém que esteja inserindo uma unidade usb / flash

Ele, assim como eu, quer que o Ubuntu solicite nossa senha antes de montar qualquer drive USB inserido. Como posso fazer isso? Eu encontrei este tópico Como fazer o Ubuntu pedir senha ao montar partições? / a> mas isso é para todos os drives, ou para os específicos. Todas as unidades não funcionarão para minha configuração, já que não são necessárias para montar unidades internas. A configuração das unidades individuais também não funcionará, porque, neste caso, o UUID é desconhecido, portanto, configurá-lo antecipadamente não é possível.

Eu achei que o pôster original afirmou bem o problema, e não era um caso de pergunta mal entendida, mas a pessoa que respondeu simplesmente não respondeu à pergunta.

Eu adicionei o tópico já iniciado, mas o guia que apareceu sugeriu que eu não fizesse mais perguntas se o tópico não fosse respondido. Espero ter feito a coisa certa ao criar um novo tópico.

EDIT: Mais explicações foram solicitadas. Eu tenho drives internos, que não são montados quando a máquina inicializa. Eles são unidades criptografadas por dm-crypt que são montadas quando eu insiro minha chave no prompt cryptsetup, depois que a máquina é inicializada e conectada. Portanto, exigir a senha de TODAS as unidades não funcionará. Como eu mencionei, o UUID de um drive usb / flash desconhecido é bom, desconhecido, então a configuração específica do drive no fstab também não funcionará. Existe uma maneira de exigir isso para todas as unidades externas, mas não para as internas?

Agradeço todas as sugestões, mesmo aquelas que não respondem à pergunta que fiz.

EDITAR novamente: Pensando nisso, poderia udev ser usado para escrever alguma regra para isso? Eu não entendo bem o udev ainda, mas parece que isso poderia ser útil

EDIT: Anders não sabe o que na página que eu deveria estar olhando, mas eu não vejo como realizar meu objetivo, com informações sobre essa página. Por favor, compartilhe sua ideia

    
por grinch 12.12.2013 / 22:36

1 resposta

2

Se você entende o que está acontecendo em esta resposta, é fácil mudá-la para a maneira que você quer se comportar.

Basta criar um arquivo chamado /etc/polkit-1/localauthority/90-mandatory.d/external_mnt.pkla com o seguinte contexto:

[external mount pass]
       Identity=unix-group:admin;unix-group:sudo
       Action=org.freedesktop.udisks.filesystem-mount
       ResultActive=auth_admin_keep

Isso deve pedir uma senha quando um dispositivo externo é montado, mas não deve perguntar quando um interno é montado.

Onde encontrar mais informações sobre essas coisas: Nos manuais: man pklocalauthority e man polkit .

Em relação ao comentário: How does the system know to only ask on external drives? Para saber que você deve procurar no código-fonte de udisks , device.c , na linha 6674 inicia uma ramificação if, que é:

if (is_device_in_fstab (device, NULL))
{
  action_id = NULL;
}
else
{
  if (device->priv->device_is_system_internal)
    action_id = "org.freedesktop.udisks.filesystem-mount-system-internal";
  else
    action_id = "org.freedesktop.udisks.filesystem-mount";
}

Você pode ver que org.freedesktop.udisks.filesystem-mount é apenas para montagens que não são consideradas internas. E o que é considerado interno? Isso também é codificado nesse arquivo, basta procurar se você é curioso.

Nota: acabei de testar isso e funcionou para mim.

    
por falconer 13.12.2013 / 14:39