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.