Ubuntu: modo de acesso padrão (permissões) para o diretório home dos usuários (/ home / user)


14

O que é um modo de acesso padrão (por exemplo, 0755) para os diretórios pessoais dos usuários no Ubuntu (por exemplo, qual é a saída ls -ld /home/*)? Em outros distritos principais do Linux (Debian, RedHat, Gentoo, Arch)?

Como posso alterar esse padrão?

PS: Desculpe, mas não consigo encontrar um ubuntu agora e testar isso sozinho.


Eu não estou perguntando sobre umask, mas sobre skelehome-dirs
osgx 29/06

Por favor, não adicionar novas informações nos comentários, mas incluí-lo na pergunta original
bbaja42

Não é uma informação nova, é comentários sobre o entendimento errado da minha pergunta
osgx

Respostas:


15

Ao criar um usuário usando useradd --create-home username, o diretório do esqueleto (geralmente /etc/skel) é copiado, incluindo suas permissões.

O diretório inicial ( /home/username) está sujeito à UMASKconfiguração em /etc/login.defs. Como é definido 022por padrão, as permissões para /home/usernamese tornam 755.

Trecho relevante da página de manualuseradd do Ubuntu :

As seguintes variáveis ​​de configuração em /etc/login.defs alteram o comportamento desta ferramenta:
[..]
UMASK (número)

A máscara de criação do modo de arquivo é inicializada com este valor. Se não especificado, a máscara será inicializada em 022.

useradd e newusers usam essa máscara para definir o modo do diretório inicial que eles criam


E o redhat / debian?
osgx

AFAIK é uma coisa padrão useradd, se for específico do Ubuntu, deveria ter sido mencionado na página de manual. Uma página de manual redhat: linux.die.net/man/8/useradd
Lekensteyn

10

A permissão padrão da página inicial do usuário pode ser controlada nos seguintes locais.

  • A opção de diretório esqueleto ( -k, --skel SKEL_DIR) de useradd.
  • SKELvalor em /etc/adduser.confque define o diretório esqueleto padrão.
  • DIR_MODEvalor em /etc/adduser.confque define as permissões padrão.

O diretório inicial de novos usuários é criado /etc/skelcomo modelo (comportamento padrão).
A permissão padrão de /etc/skelé 0755 (drwxr-xr-x).
O uso de um diretório esqueleto personalizado com permissões corretas permitirá que os novos diretórios pessoais tenham as permissões desejadas.

Os padrões para addusersão definidos em /etc/adduser.conf.
O valor padrão de DIR_MODEin /etc/adduser.confé 0755.
Alterar DIR_MODEpara corrigir permissões ( DIR_MODE=0750ou similares) permitirá que os novos diretórios pessoais tenham as permissões desejadas.
De acordo com a documentação do Ubuntu, esta parece ser a melhor opção.

Os diretórios pessoais do usuário já existentes precisarão ser alterados manualmente.

sudo chmod 0750 /home/username

Portanto, é uma boa ideia mudar /etc/adduser.conflogo após a instalação para evitar que novos usuários obtenham 0755 (drwxr-xr-x)permissões de tipo.
Ainda assim, o primeiro usuário criado durante a instalação terá 0755definido seu diretório inicial, que deve ser alterado manualmente.

UMASKin /etc/login.defsé uma configuração geral para arquivos / diretórios / etc criados pelos usuários (não apenas em seus diretórios pessoais). e poderia ter mudado dependendo USERGROUPS_ENABem /etc/login.defs.

A explicação oficial: Gerenciamento de usuários - Segurança do perfil de usuário
Verifique também outras seções do Gerenciamento de usuários.

Relacionado: /ubuntu/46501/why-can-other-users-see-the-files-in-my-home-folder


3
As respostas somente de link são um não-não devido a uma possível rot-link futura. Inclua informações pertinentes em suas respostas.
precisa saber é o seguinte

@ techie007 eu sei. Teria usado um comentário se eu tivesse representantes suficientes.
Sithsu 06/07/2013

1
@ techie007 Adicionado mais conteúdo à resposta
Sithsu

Definir DIR_MODEem /etc/adduser.confé definitivamente o caminho certo a seguir.
usar o seguinte comando

2

Nota: Não altere o valor UMASK em /etc/login.defs se desejar alterar apenas as permissões do diretório inicial. A alteração da UMASK afetará tudo.

Certa vez, segui o mesmo e quando instalei qualquer sistema de pacotes usando o pip, ele não estava acessível a outros usuários e constantemente emitia permissão negada. Como o UMASK padrão afetou a permissão de todos os diretórios de pacotes criados após a aplicação das alterações.

A maneira correta é modificar o DIR_MODE no /etc/adduser.conf . Como o /etc/adduser.conf é usado na maioria das distribuições Linux, esta solução funciona para a maioria.


1

As permissões padrão para / home no ubuntu são rwxr-xr-x ou 755. Para / home / user, também é rwxr-xr-x ou 755. Pelo menos está na minha instalação.

Para alterar as permissões de arquivo do diretório inicial, abra um terminal e execute algo como:

chmod 700 /home/user

Lembre-se de alterar o 700 para o valor chmod que você realmente deseja definir.

Se você não possui o diretório, precisará de privilégios de root para alterar as permissões. O Ubuntu usa sudopara isso:

sudo chmod 700 /home/user

Quando você executa este comando, ele solicita a senha do administrador.


2
Sua segunda parte está incorreta, o diretório inicial é de sua propriedade e, portanto, você não precisará de um superusuário.
Lekensteyn

Você supõe que ele só quer mudar os direitos em seu próprio diretório de casa. Eu disse "Se você não possui o diretório". Meu código funcionará no diretório inicial de qualquer usuário.
usar o seguinte

Eu editei seu post para torná-lo mais correto (espero que você como ele), seu post original não incluía nada disso: superuser.com/revisions/303995/1
Lekensteyn

0

Verifique a página do manual umask .

A configuração padrão umask é

0022

Permite groupe otherslê e executa o acesso.


Não, minha pergunta não é sobre um umask, mas sobre as permissões padrão da própria pasta de usuário (apenas após o usuário aé criado, o que será uma produção de ls -ld /home/a)
osgx
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.