Permissões especiais de diretório para novos usuários

0

Eu preciso adicionar permissão especial para o novo usuário do shell. Depois de usar o comando adduser new, o usuário pode ler todos os diretórios na conta do shell.

O comando adduser user1 nos traz um novo usuário que possui o próprio diretório de shell /home/user1 . Agora, preciso fazer permissões para user1 com acesso total apenas para a pasta /home/user1 correspondente. Toda vez que user1 entrar na pasta /home , o usuário não verá nada dessa pasta. O mesmo comportamento deve ser quando user1 entrar no diretório principal do shell, onde temos pastas etc , home , usr , var etc.

Agora, quando eu fizer login como user1 , posso ler todos os diretórios de shell, por exemplo, via Midnight Commander.

Alguém pode ajudar a definir essas permissões especiais? Obrigado antecipadamente.

    
por X9DESIGN 24.01.2017 / 21:09

2 respostas

0

Você pode fazer isso usando permissões diferentes. Presumivelmente, se você remover as permissões de leitura para /home para os outros e para o grupo. Desta forma, apenas o superusuário terá acesso a leitura.

Eu testei isso criando um novo usuário para o qual eu atribuí uma pasta diferente da pasta padrão. Como eu estava testando, eu fiz em uma pasta diferente da pasta /home do meu sistema no caso de eu estragar tudo. Aqui está o passo-a-passo do que fiz e parece ter funcionado:

  1. criei uma pasta /private_home
  2. Em /private_home , criei outra pasta chamada user1 .
  3. Criado um usuário padrão chamado user1 .
  4. Pasta atribuída /private_home/user1 como a pasta base do usuário que usa: sudo usermod -d /private_home/user1 user1 . Isso move a pasta inicial de user1 de /home/user1 para /private_home/user1 .
  5. Em seguida, alteramos os privilégios de acesso para /private_home da seguinte forma: sudo chmod 711 /private_home .

Agora, quando fizer login como user1 usando su user1 , fiz login na pasta do usuário /private_home/user1 , mas quando tento cd .. , consigo acessar a pasta (os prompts do shell mostram isso), mas tenho sem permissões para ler o conteúdo da pasta. Ou seja, ao tentar ls , diz "Permissão negada".

Presumivelmente, você pode fazer a mesma coisa para todos os usuários para a pasta /private_home .

Tendo dito isso, eu não faria isso com / , pois você correrá o risco de tornar seu sistema instável .

Observação: usei alguns dos conceitos em a resposta neste post .

    
por Juan Antonio 24.01.2017 / 22:05
0

Para usar um sistema, um usuário deve poder acessar / ler muitas partes do sistema. Mas ele não poderá escrever fora de seu próprio diretório pessoal (por exemplo, /home/user1 ).

Isso, obviamente, não deve se aplicar aos diretórios pessoais de outros usuários. (Supostamente por conveniência) O Ubuntu vem com uma configuração padrão onde todos têm acesso read a todos os diretórios home de outros usuários.

ls -l /home mostrará algo como

drwxr-xr-x  54 user      user      4096 Jan 25 17:17 user
drwxr-xr-x  52 user1     user1     4096 Dez 21 17:47 user1
drwxr-xr-x 198 another   another  12288 Jan 25 17:19 another

Veja as permissões no início de cada linha:

drwxr-xr-x
       ^^^ 

A parte marcada significa: "Todo mundo pode ler o diretório e cd nele"

Você pode evitar isso emitindo

sudo chmod 0700 /home/*

verifique com ls -l /home e você verá algo como

drwx------  54 user      user      4096 Jan 25 17:17 user
drwx------  52 user1     user1     4096 Dez 21 17:47 user1
drwx------ 198 another   another  12288 Jan 25 17:19 another

Agora nenhum usuário poderá ver o conteúdo do diretório pessoal de outro usuário (claro, nem com o Midnight Commander).

Se você quiser evitar esse problema para usuários recém-adicionados, há várias maneiras, dependendo de como você cria o novo usuário.

Quando você adiciona novos usuários à GUI (configurações do sistema / usuários)

Isso leva as permissões no diretório inicial das permissões existentes em etc/skel . Então

sudo chmod -v 0700 /etc/skel

dará o resultado desejado.

Quando você adiciona novos usuários com adduser

Edite /etc/adduser.conf . Encontre a linha

DIR_MODE=0755

e mude para

DIR_MODE=0750
    
por guntbert 25.01.2017 / 17:48