Proprietários / permissões padrão dos arquivos no diretório inicial do usuário

12

Muitas vezes, vejo usuários que tentam corrigir um problema e em algum lugar leem ou tentam recursivamente chown seu diretório inicial e, às vezes, também redefinem as permissões recursivamente para algo como rwxr-xr-x ou semelhante.

Imagine esse massacre de proprietário / permissão - há arquivos / diretórios críticos que precisam de permissões especiais ou que sejam de propriedade da raiz do sistema?

    
por Byte Commander 11.09.2015 / 14:41

2 respostas

16

Nenhum arquivo em ~ precisa ser de propriedade de root.

Se um software exigir que um arquivo no seu diretório home seja de outro usuário, é um bug e deve ser relatado como tal.

Além disso, um caso comum envolve dois softwares relacionados à segurança que exigem permissões restritas em determinados arquivos, a saber:

  1. SSH
  2. GPG

SSH

Veja man ssh , seção FILES :

 ~/.ssh/config
     This is the per-user configuration file.  The file format and
     configuration options are described in ssh_config(5).  Because of
     the potential for abuse, this file must have strict permissions:
     read/write for the user, and not writable by others.  It may be
     group-writable provided that the group in question contains only
     the user.

 ~/.ssh/identity
 ~/.ssh/id_dsa
 ~/.ssh/id_ecdsa
 ~/.ssh/id_ed25519
 ~/.ssh/id_rsa
     Contains the private key for authentication.  These files contain
     sensitive data and should be readable by the user but not acces‐
     sible by others (read/write/execute).  ssh will simply ignore a
     private key file if it is accessible by others.  It is possible
     to specify a passphrase when generating the key which will be
     used to encrypt the sensitive part of this file using 3DES.

Outros arquivos como authorized_keys , known_hosts , etc. devem ser graváveis apenas pelo usuário, mas podem ser legíveis por todos.

GnuPG

~/.gnupg (e conteúdo) deve ser acessível somente por você. Com outras permissões, o GPG se queixará de permissões inseguras.

    
por muru 11.09.2015 / 15:15
11

Em geral, arquivos e diretório em sua casa devem ser de sua propriedade.
Eu tenho alguns arquivos estranhos de propriedade da raiz que são provavelmente o resultado da execução de sudo command; na verdade, há programas que escrevem coisas sob $HOME (programas bem comportados que requerem privilégios de superusuário não devem ser feitos - o efeito é root apropriando-se dos arquivos que devem pertencer ao usuário). Normalmente, excluí-los ou reintegrá-los (dependendo do arquivo) não cria problemas e, muitas vezes, resolve alguns, como o infame .Xauthority - e, às vezes, depois de executar sudo dconf-editor , você tem coisas nas configurações possíveis ' t modificar mais.

Sobre modos especiais:

  • scripts devem ser executáveis, é claro, pelo menos para o proprietário;
  • deve ser também diretórios (onde x significa direito de cruzar);
  • .ssh deve ser drwx------ (0700) e as chaves privadas nele -rw------- (0600)
  • se você tiver um diretório Public para compartilhamento, provavelmente ele deve ser drwxr-xr-x (permissão de leitura para qualquer pessoa) ou drwxrwxrwt (com permissão de gravação e sticky bit, para habilitar a gravação).

... não consigo pensar em mais nada que precise de tratamento especial.

    
por Rmano 11.09.2015 / 15:05