Acabei de adicionar um "usuário de desktop" novo e sem privilégios e fiquei surpreso ao descobrir que ele pode ver os arquivos na minha pasta pessoal.
Qual é o racional para configurar essas permissões negligentes?
Acabei de adicionar um "usuário de desktop" novo e sem privilégios e fiquei surpreso ao descobrir que ele pode ver os arquivos na minha pasta pessoal.
Qual é o racional para configurar essas permissões negligentes?
Respostas:
Existe uma Public
pasta no diretório inicial ( /home/user
) para compartilhar arquivos com outros usuários. Se um outro usuário quiser obter acesso a essa Public
pasta, o bit de execução para o mundo deve ser definido no diretório inicial.
Se você não precisar permitir que outras pessoas acessem sua pasta pessoal (outros humanos ou usuários gostam www-data
de um servidor da web), você ficará bem em chmod o-rwx "$HOME"
(remover a leitura / gravação / execução de "outro", equivalente a chmod 750 "$HOME"
uma vez que a permissão padrão é 750 ) Caso contrário, você também deve alterar a umask
configuração para impedir que arquivos recém-criados obtenham permissões de leitura para o mundo por padrão.
Para uma configuração em todo o sistema, edite /etc/profile
; as configurações por usuário podem ser configuradas em ~/.profile
. Eu prefiro a mesma política para todos os usuários, portanto, edito o /etc/profile
arquivo e acrescento a linha:
umask 027
Você precisa fazer login novamente para aplicar essas alterações, a menos que esteja em um shell. Nesse caso, você pode executar umask 027
no shell.
Agora, para corrigir as permissões existentes, você precisa remover as permissões de leitura / gravação / execução de outras:
chmod -R o-rwx ~
Agora, se você decidir compartilhar a ~/Public
pasta com todos, execute os próximos comandos:
chmod o+x ~
- permite que todos desçam no diretório ( x
), mas não recebem uma lista de diretórios ( r
não devem ser adicionados)find ~/Public -type f -exec chmod o+r {} \;
- permitir que todos leiam os arquivos em ~/Public
find ~/Public -type d -exec chmod o+rx {} \;
- permitir que todos descam para diretórios e listem seu conteúdoSe você usa o GNU coreutils (por exemplo, no Ubuntu, e não em um sistema incorporado apenas busybox
), os dois comandos anteriores usam find
e chmod
podem ser substituídos por este único comando que torna recursivamente legível pastas e arquivos (e adiciona adicionalmente a execução (descida) bit apenas para diretórios ):
chmod -R o+rX ~/Public
De acordo com um membro da equipe do Ubuntuforms.org , é para facilitar o compartilhamento de arquivos entre novos usuários.
Você pode alterar a permissão para 700 ou 750 se não desejar que os arquivos sejam legíveis e executáveis por outras pessoas.
O comando é:
chmod 750 $HOME
Nota: O padrão do Ubuntu é 755
De acordo com Mark Shuttleworth ,
"A maioria dos usuários dos sistemas Ubuntu usa exclusivamente a máquina (laptop pessoal) ou está compartilhando com amigos e parentes. Assumimos que as pessoas que compartilham a máquina são confiáveis ou estão em posição de invadir a máquina (inicialização do USB!) trivialmente. Como resultado, há pouco ou nenhum benefício "
... de remover essas permissões.
Você pode ler a seção Gerenciamento de Usuário do Guia do Servidor Ubuntu, que aborda os detalhes necessários. O parágrafo Segurança do perfil do usuário provavelmente responderá às suas perguntas - oficialmente.
Eu acho que a resposta de Lekensteyn pode ser melhorada substituindo os dois últimos comandos find com chmod usando a opção -X (observe o X maiúsculo). Os dois comandos find podem ser substituídos por
chmod -R o+rX ~/Public
Isso diferencia adequadamente entre arquivos e diretórios, mas tem o efeito adicional de permitir que outras pessoas executem arquivos executáveis.
Como é a privacidade que lhe interessa (a julgar pelas tags aplicadas), é muito possível que a definição de permissões seja insuficiente (consulte a resposta de ignis ). A resposta pode ser algo semelhante ao diretório inicial criptografado . Esta solução foi projetada especificamente contra o ataque de outro usuário de um computador. Obviamente, ele não poderá impedir que outro usuário danifique seus arquivos (simplesmente removendo o ~/.Private
diretório, apagando todos os arquivos), mas eles não poderão montar o diretório e ver os arquivos sem a sua senha.
A maneira mais fácil de conseguir isso é durante o processo de instalação, há uma caixa de opções indicando "Criptografar seu diretório pessoal" e você precisa selecioná-lo.
Como é improvável que você deseje reinstalar apenas para isso (e porque ele ainda carrega todos os riscos envolvidos em fazê-lo sem reinstalar), você pode fazer o seguinte:
sudo apt-get install encryptfs-utils
encryptfs-migrate-home
Se você realmente precisa de um alto nível de segurança: reinstale e certifique-se de escolher a opção para criptografar todo o seu disco. Isso exigirá uma senha para iniciar a máquina. É claro que você também pode criptografar sua pasta pessoal mais uma vez, com alguma degradação no desempenho; embora não seja perceptível para uso normal.
Observe que a criptografia da sua pasta pessoal desabilitará aplicativos como o Dropbox. O Dropbox não é um armazenamento seguro que respeite a privacidade, de modo que pode ser um ponto trivial. No entanto, se você precisar de armazenamento seguro e privado na nuvem, eu recomendaria pessoalmente o MEGAsync, pois somente você teria as chaves para acessar os dados.