Como tornar uma pasta pessoal criptografada acessível por dois usuários locais?

4

Minha esposa e eu estamos compartilhando um laptop rodando o Ubuntu 12.04 LTS e eu gostaria de criptografar a pasta Home de cada um de nós enquanto ainda mantém o acesso do outro.

A parte de criptografia usando o eCryptfs é bastante simples, mas adicionar um segundo usuário aparentemente não está bem documentado. Uma pasta criptografada compartilhada seria possível, mas acho que compartilhar toda a pasta Home seria mais simples e melhor suportada pela comunidade em geral.

Eu li dicas de que você pode adicionar chaves ao keyring do kernel do ecryptfs, mas as direções que encontrei estão longe ser claro mesmo se eu me descrever como um usuário avançado.

    
por Yves 11.02.2014 / 20:45

2 respostas

0

Eu pensei que isso seria semelhante a LUKS com pam_mount usando uma partição inicial para todos os usuários (I não sei se isso pode ser feito ou seria uma boa idéia usando o LUKS) ou usando partições separadas para cada usuário, o que no caso do LUKS seria mais complicado. Ler o FAQ com os dois usuários sendo logados deve ser suficiente, ou assim parece:

  

Quando um usuário pode acessar um arquivo eCryptfs, qualquer usuário com permissão   também pode acessar o arquivo. Não deve o eCryptfs exigir que todos os usuários   tem a chave para acessar os arquivos?

     

A eCryptfs deliberadamente não faz nenhuma tentativa de reimplementar o   mecanismos discricionários e obrigatórios de controle de acesso já presentes   no kernel do Linux. O eCryptfs simplesmente exigirá que um arquivo   Encryption Key (FEK) ser associada a qualquer inode dado para   descriptografar o conteúdo do arquivo no disco. Isso evita que um invasor   de acessar o conteúdo do arquivo fora do contexto do confiável   ambiente host; por exemplo, removendo o dispositivo de armazenamento ou   inicializando um CD ao vivo. Este é o único tipo de acesso não autorizado que   O eCryptfs destina-se a evitar.

     

Uma vez que o eCryptfs associou essa FEK com o inode, ela não   impor quaisquer restrições adicionais sobre quem ou o que pode acessar o   arquivos, adiando para o usuário padrão / grupo / outras permissões,   capacidades, aplicação do tipo SE Linux e assim por diante para regular   acesso aos arquivos. A eCryptfs não mantém nenhum pedigree sobre como o   FEK encontrou seu caminho para o inode, então não tem como saber que   determinado UID deve ou não ser capaz de abrir o arquivo, nem   deve eCryptfs fazer uma coisa dessas.

     

Ter eCryptfs impõe controle de acesso adicional ao descriptografado   conteúdo do arquivo em um ambiente host confiável não forneceria   segurança adicional ao introduzir problemas de usabilidade não intencionais. Para   Por exemplo, um usuário pode compartilhar seus arquivos descriptografados com   outros usuários no sistema sem ter que compartilhar sua chave com eles ou   adicione suas chaves a um conjunto de chaves envolvendo a FEK do inode. Usuários esperam   para ser capaz de realizar tal tarefa através de usuários, grupos, capacidades,   e tipos, e eCryptfs adia decisões de controle de acesso em confiável   ambientes host para esses mecanismos de controle de acesso existentes.

Você pode encontrar as Perguntas frequentes completas em /usr/share/doc/ecryptfs-utils/ecryptfs-faq.html ou online .

Outra solução seria usar uma pasta eCrypfs fora das pastas iniciais dos usuários que podem ser compartilhadas e que tenha uma única senha que os usuários possam compartilhar (trabalhando em torno de que ambos os usuários teriam que fazer login em suas contas).

    
por LiveWireBT 13.02.2014 / 11:04
0

Você pode realizar isso facilmente usando o Samba. Deve levar cerca de cinco ou dez minutos para ser configurado. No entanto, observe que ambos os usuários precisariam estar logados para que suas chaves de criptografia estivessem disponíveis para uso pelo Samba. Isso não funcionará em uma situação em que você deseja que um usuário possa acessar os arquivos do outro usuário enquanto ele não estiver conectado.

  1. Instale o Samba (se você não o tiver instalado)

    sudo apt-get install samba

  2. Adicione usuários do Samba para os dois usuários do Linux (para este exemplo eles serão tom e sally)

    sudo smbpasswd -a tom sudo smbpasswd -a sally

  3. Abra o arquivo de configuração do Samba em um editor de texto /etc/samba/smb.conf

    sudo nano /etc/samba/smb.conf

  4. Adicione suas definições de compartilhamento perto da parte inferior do arquivo. (Não use a definição de compartilhamento [home] no arquivo, pois ela não permitirá que você use a configuração necessária "force user". Veja a nota abaixo sobre por que o "usuário forçado" é necessário.)

    [tom] comment = Tom's home folder path = /home/tom guest ok = no browseable = yes read only = no valid users = tom, sally force user = tom

    [sally] comment = Sally's home folder path = /home/sally guest ok = no browseable = yes read only = no valid users = tom, sally force user = sally

  5. Salve suas alterações e reinicie o servidor Samba para ter certeza de que suas novas configurações serão aplicadas. Eu uso esses três comandos, mas pode ser mais do que o necessário.

    sudo samba restart sudo service smbd restart sudo service nmbd restart

  6. (Opcional) Por padrão, o Samba anunciará suas pastas compartilhadas na rede. Você pode evitar isso de várias maneiras diferentes. No arquivo smb.conf que você editou acima, você pode configurar as interfaces permitidas para permitir somente 127.0.0.1 (que significa "este computador"). Isso pode ser definido globalmente (na seção Rede do smb.conf) ou você pode configurá-lo individualmente em cada compartilhamento que você deseja restringir.

    interfaces = 127.0.0.1

Se tudo funcionou corretamente, você poderá ver suas pastas iniciais listadas na seção Rede no navegador de arquivos (seu computador será exibido como um dispositivo de rede ou as pastas na "Rede do Windows"). pasta). Quando você se conectar pela primeira vez à pasta compartilhada, você será solicitado a digitar seu nome de usuário e senha do Samba, mas você pode evitar isso no futuro fazendo com que o navegador de arquivos lembre-se disso para você.

Observação: "Forçar usuário" faz com que as operações de arquivo sejam executadas como o usuário Linux especificado, independentemente de quem é o usuário do Samba conectado. Isso significa que quando Sally escreve um arquivo na casa compartilhada de Tom, ela está escrevendo como o usuário do Linux. Se você não usou "force user", Sally iria receber um erro "NT_STATUS_ACCESS_DENIED" (já que o usuário de Sally no Linux não pode acessar a home criptografada de Tom).

    
por blendenzo 27.12.2016 / 22:32