Por que outros usuários podem ver os arquivos na minha pasta pessoal?


Respostas:


32

Existe uma Publicpasta no diretório inicial ( /home/user) para compartilhar arquivos com outros usuários. Se um outro usuário quiser obter acesso a essa Publicpasta, 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-datade 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 umaskconfiguraçã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/profilearquivo 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 027no 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 ~/Publicpasta 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 ( rnã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údo

Se você usa o GNU coreutils (por exemplo, no Ubuntu, e não em um sistema incorporado apenas busybox), os dois comandos anteriores usam finde chmodpodem 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


7

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.


12
Eu acho que ter o mesmo comportamento na edição Server é uma falha de segurança
warvariuc

4
Essa é uma explicação louca. Além das contas pessoais, existem contas técnicas que as pessoas podem usar para isolar aplicativos. Além disso, existem muitas instruções sobre como configurar um servidor ftp local que basicamente compartilha a conta na máquina.
Barafu Albino

4
Eu sei que esse é um tópico antigo, mas considere isso como uma decisão estúpida. Imagine que um dos usuários execute o aplicativo / script (pode ser involuntariamente), capaz de ler e enviar arquivos de qualquer outro perfil.
mauron85


1

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.


0

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 ~/.Privatediretó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

-1

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.