Como posso criar um novo usuário com o equivalente das permissões de um usuário convidado do Windows?

4

Basicamente, eu quero que o novo usuário tenha apenas algumas permissões - não pode ler os diretórios home dos usuários normais, só pode ler ou gravar arquivos em um diretório (só pode ler ou escrever /home/user/ ... não é possível ler ou escrever /home/me/ ou ler ou escrever /home/someoneelse/ . Essa é uma configuração comum para escolas e universidades que executam redes Windows. Parece que deve ser simples no Ubuntu.

    
por ixtmixilix 17.10.2010 / 21:48

3 respostas

2

Eu não sei nada sobre as "permissões de usuário convidado" do outro sistema operacional, mas para o Ubuntu você pode criar usuários com quaisquer privilégios que desejar. Por outro lado, existe uma "sessão de convidado" que pode ser acessada de uma sessão já iniciada. Ambos são descritos aqui .

Diferentemente das permissões que você dá aos novos usuários que você cria, aconselho você a configurar as permissões de acesso ao seu diretório pessoal a partir do seu lado (de uma forma positiva, em algum sentido; configurando suas regras para o seu próprio diretório); não dependa da situação "menos privilegiada" dos usuários convidados. Para fazer isso, vá para / home, clique com o botão direito do mouse no diretório inicial que você deseja definir, acesse propriedades, vá para permissões e configure-as como desejar. Isso também pode ser feito via linha de comando.

    
por marenostrum 18.10.2010 / 10:14
1

No Ubuntu, a maioria dos arquivos pode ser lida por qualquer pessoa e arquivos só podem ser escritos / alterados pelo proprietário.

Portanto, as permissões de gravação estão ok por padrão. Se você quiser alterar as permissões de leitura: faça o seguinte:

Digamos que você tenha um arquivo \ home \ user \ file.txt, que possui permissões normais. Se você executar

 cd /home/user
 ls -l file.txt

você verá algo como

 -rw-r--r-- 1 user group  45655 2010-01-16 17:21 file.txt

Isso significa:

  • rw = ler e gravar permissões para o usuário "user",
  • r = permissões de leitura para o grupo "grupo"
  • r = permissões de leitura para qualquer outra pessoa.

O grupo padrão é o grupo que tem apenas "usuário" como membro. Então você só precisa mudar a permissão r para mais ninguém, faça da seguinte forma:

 cd /home/user
 chmod o-r file.txt
  • chmod = modificadores de alteração, altere as permissões
  • o = todos os outros (não o usuário e não o grupo)
  • -r = exclui a permissão de leitura

Se você agora executar

ls -l file.txt

você deve ver

-rw-r----- 1 user group  45655 2010-01-16 17:21 file.txt

Então o último 'r' é deletado. Você pode usar curingas em seu comando como

chmod o-r f*

mudará todos os arquivos que começam com 'f'. Se você quiser usá-lo em um diretório completo, incluindo todos os subdiretórios, você precisa adicionar o parâmetro '-R' (recursivo):

chmod o-r -R /home/user

excluirá os direitos de leitura do diretório / home / user completo para cada usuário que não seja o proprietário ou o grupo.

Eu não recomendo mudar os diretórios do sistema, mas se você fizer isso, você precisará adicionar "sudo" antes do seu comando. Não há informações importantes nos diretórios do sistema, por isso, bastá-los não graváveis.

resposta final:

sudo chmod o-r -R /home/*
    
por sanderd17 18.10.2010 / 20:21
0

Você pode usar umask de modo que as permissões de arquivo estejam definidas para permitir apenas os proprietários dos arquivos acessam seus arquivos automaticamente.

Você também pode usar atributos estendidos .

E eu acho que deve ser possível proteger uma sessão de convidado com tecnologias como o SELinux ou o AppArmor também.

    
por JanC 17.10.2010 / 22:25