permissões 755 em / home / user /

12

Eu estou querendo saber por que meu diretório /home/<user>/ tem permissões definidas como 755 . Isso permite que outros usuários entrem em diretórios e leiam arquivos em minha casa. Existe alguma razão legítima para isso?

Posso definir as permissões para 700 para minha casa e todos os subdiretórios, por exemplo:

chmod -R o-xw /home/<user>/ 
chmod -R g-xw /home/<user>/

sem quebrar nada?

Além disso, é possível definir as permissões em minha casa, para que todos os novos arquivos criados tenham 600 e diretórios 700 ?

    
por Martin Vegter 13.10.2013 / 23:08

4 respostas

16

Se o seu diretório pessoal for privado, ninguém mais poderá acessar nenhum dos seus arquivos. Para acessar um arquivo, um processo precisa ter permissão de execução para todos os diretórios no caminho da árvore a partir do diretório raiz. Por exemplo, para permitir que outros usuários leiam /home/martin/public/readme , os diretórios / , /home , /home/martin e /home/martin/public precisam ter as permissões d??x??x??x (pode ser drwxr-xr-x ou drwx--x--x ou alguma outra combinação) e, adicionalmente, o arquivo readme deve ser publicamente legível ( -r??r??r?? ).

É comum ter diretórios pessoais com o modo drwxr-xr-x (755) ou pelo menos drwx--x--x (711). O modo 711 (somente permissão de execução) em um diretório permite que outras pessoas acessem um arquivo nesse diretório se souberem seu nome, mas não listarem o conteúdo do diretório. Sob esse diretório inicial, crie subdiretórios públicos e privados conforme desejado.

Se você nunca quiser que outras pessoas leiam qualquer um dos seus arquivos, você pode criar seu diretório home drwx------ (700). Se você fizer isso, não precisará proteger seus arquivos individualmente. Isso não quebrará nada além da capacidade de outras pessoas lerem seu arquivo.

Uma coisa comum que pode ser quebrada, porque é uma instância de outras pessoas lendo seus arquivos, é se você tiver um diretório como ~/public_html ou ~/www , que contém sua página da web. Dependendo da configuração do servidor da Web, esse diretório pode precisar ser legível por todos.

Você pode alterar as permissões padrão dos arquivos criados definindo o valor umask em .profile . O umask é o complemento das permissões máximas de um arquivo. Os valores comuns incluem 022 (gravável somente pelo proprietário, legível e executável por todos), 077 (acesso somente pelo proprietário) e 002 (como 022, mas também grupo-gravável). Essas são permissões máximas: os aplicativos podem definir permissões mais restritivas, por exemplo, a maioria dos arquivos acaba sendo não executável porque o aplicativo que os criou não definiu os bits de permissão de execução ao criar o arquivo.

    
por 14.10.2013 / 01:06
3

Se você fizer check-in no RHEL / CentOS 5.x, a Permissão padrão será 700, mas no Ubuntu será 755.

De acordo com um membro da equipe 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 quiser que os arquivos sejam legíveis e executáveis por outras pessoas.

Also, is it possible to set the permissions on my home, so that all new files created will have 600 and directories 700 ?

Você pode definir umask 0077 para isso

funcionará como:

A permissão padrão para o diretório é 0777 , portanto, quando você definir umsk 0077 , o novo diretório será criado com a permissão (0777-0077) , ou seja, 0700 , conforme desejado.

    
por 13.10.2013 / 23:20
3

Sim, há um motivo muito legítimo. Observe que outros usuários podem ler, mas não gravar em seus arquivos. Isso é muito útil em redes profissionais porque você pode compartilhar facilmente seus arquivos com seus colegas.

Por exemplo, no laboratório em que eu costumava trabalhar, todos nós tínhamos acesso aos diretórios $HOME um do outro para que pudéssemos compartilhar facilmente nossos dados ou nossos scripts uns com os outros. Se minha amiga Alice tivesse um bom roteiro para fazer X, eu apenas executaria:

~alice/bin/scriptX.pl mydata

Como os outros mencionaram, para mudar isso, você precisará definir umask. Por exemplo, para tornar novos arquivos e pastas legíveis somente por você, adicione isso ao seu ~/.bashrc :

umask 0077
    
por 14.10.2013 / 00:30
1

Você precisa alterar o umask para alterar como os novos arquivos são criados em sua pasta pessoal. Isso geralmente é feito editando seu script de inicialização do shell, há uma boa visão geral aqui

Quanto a alterar todas as permissões em sua pasta pessoal para 700, estou imaginando como isso afetaria os serviços em execução em contas de serviço que precisam de informações de configuração de sua pasta pessoal ... Você pode impedir que esses serviços leiam a configuração arquivos que eles precisam.

    
por 13.10.2013 / 23:22