Por que o padrão umask 002 ou 022 em muitos sistemas Unix? Parece inseguro por padrão [fechado]

4

Eu tenho usado o Linux & Unix por um longo tempo. A primeira vez que aprendi o Unix está em uma sala de informática com muitos alunos, onde o instrutor nos disse que você pode usar o ssh para fazer login em estações de trabalho remotas fornecidas pela universidade em que eu estava estudando.

Nesse contexto, eu imediatamente sei que o Unix é um sistema operacional multiusuário porque havia mais alunos do que estações de trabalho. (Princípio do pombo).

De alguma forma, depois de muitos anos de uso, sei basicamente qual é o umask (padrão 002) e que a permissão padrão de um usuário (e um novo usuário) é 755 para pastas, 644 para arquivos .

Mas depois de pensar um pouco mais sobre isso, parece que a configuração de permissão padrão é insegura nesse sistema operacional multiusuário. Embora facilite o compartilhamento de dados, ainda me sinto estranho quando você pode facilmente listar & copiar os arquivos de outros usuários dentro de seu diretório inicial.

É por isso que a padrão umask 002 em muitos sistemas Unix? Existe algum motivo histórico para que o tradicional Unix tenha escolhido esse design?

(Uma possível razão que posso pensar é que, durante 1970 ~ 1980 os computadores são usados principalmente em pesquisa científica e o poder de computação é muito limitado. Então, quando a versão inicial do Unix é lançada, eles decidiram que a permissão padrão deveria seja para facilitar o compartilhamento em vez da proteção da privacidade.)

    
por Bossliaw 08.10.2016 / 13:58

1 resposta

10

O Unix foi originalmente usado por muito tempo em um ambiente profissional. Em um ambiente profissional, é muito comum trabalhar no mesmo assunto que os colegas. Alguns arquivos são confidenciais; Por exemplo, todos os programas de e-mail que já vi criam arquivos que só podem ser lidos pelo proprietário (modo 600). Mas faz sentido que os arquivos sejam publicamente legíveis por padrão: a maioria dos arquivos não é confidencial.

Em uma máquina privada, o problema é discutível, pois há apenas um usuário.

Alguns sistemas que devem ter vários usuários que não colaboram muito usam o 077 como umask. Cabe ao administrador do sistema decidir.

Atualmente, sistemas de controle de versão com um repositório central acessado através de um protocolo de rede e várias cópias de trabalho (CVS, subversion, git, mercurial,…) são muito comuns, portanto é menos comum os usuários acessarem diretamente os mesmos arquivos. Até a década de 1990, isso era menos comum, e os usuários esquecendo-se de dar permissões de leitura para arquivos em que outros deveriam trabalhar era um problema comum.

Para garantir que os arquivos sejam sempre particulares, mesmo se você esquecer de executar chmod , coloque-os em um diretório privado, por exemplo,

mkdir ~/private
chmod 700 ~/private

Ninguém mais (exceto root, é claro) pode acessar arquivos em ~/private , independentemente de suas permissões.

    
por 09.10.2016 / 00:48