Desde os tempos em que eu comecei a utilizar Linux, através do saudoso Kurumin, eu lia em diversas páginas dúvidas relativas a criação de algo bem fácil no Windows: o usuário convidado. Básicamente, o usuário convidado não tem permissões para algumas coisas, como mudança de temas, execução de tarefas do painel de controle e etc. É claro que o Linux em geral tem uma possibilidade para esse tipo de tarefa, mas não era (ou é) algo tão simples como apertar um botão.
Primeiramente, o "problema" começa pelas permissões dos arquivos e pastas. O modo mais simples de executar essa tarefa ainda é via terminal, o que por si só já afasta muitos usuários de realizar essa tarefa. Outro ponto interessante, é que muitos artigos pela internet falam dessas permissões e de como alterá-las, mas não ensinam como isso vai ser feito na prática. Bom, esse artigo vai mudar isso.
Introdução
Uma das primeiras coisas a se falar é do chmod. É ele que vai alterar as permissões de acesso as pastas e arquivos e saber como usá-lo e fundamental. O chmod sozinho não resolve muita coisa, você precisa entender e dominar os "números" de permissão. Na maioria das páginas onde encontrei informações, tudo parecia um legítimo bicho de sete cabeças, mas vou tentar explicar da maneira mais prática possível. Cada permissão tem um número:
4 : Leitura
2 : Gravação
1 : Execução
0: Nenhuma Permissão
Você deve estar se perguntando, de onde vem então o tal "chmod 777". É fácil: o segredo da utilização desses três números é somá-los. Como assim? Seu eu quiser, por exemplo, que um usuário tenha permissão de gravação e execução de um certo arquivo, eu vou somar os números respectivos a essas funções e vou obter 3.
Vamos entender agora o formato de utilização desses números. Veja o exemplo abaixo:
chmod ugo
Onde:
> "chmod" é o nosso comando;
> "u" é o número de permissão para o dono do arquivo;
>"g" é o número de permissão para o grupo primário do dono do arquivo e os participantes do mesmo;
>"o" é o número de permissão para os demais usuários.
Isso quer dizer que você deve primeiro colocar o número relativo a permissão do próprio dono do arquivo, depois o número relativo ao grupo primário do dono do arquivo e, a seguir, o número de permissão para os demais usuários. Logo, o comando "chmod 777" dá permissões totais para todos os usuários do sistema acessarem o arquivo e o modificarem.
Entenda que o segredo dos números é a soma. Se você deseja dar permissão de leitura e execução a algum dos níveis de usuário (dono, grupo ou outro), basta somar os números relativos a essas permissões, ou seja, 4 (leitura) + 1 (execução), o que dá uma permissão 5, leitura e execução. A permissão 7 (execução, leitura e gravação) não é recomendada ao grupo e muito menos a outros usuários, principalmente se for um arquivo importante do sistema, como um programa. Essa permissão só deve ser dada ao dono do arquivo.
Adicionando Usuário "Convidado" e Mudando Grupo do Usuário Principal
Agora que já o introduzimos no uso do chmod e nos números de permissão dos usuários, podemos iniciar o tutorial em si. Ele foi testado e funciona no Fedora 13 Beta, no entanto, com algumas alterações pode funcionar em qualquer sistema Linux (creio eu). Antes de tudo, é necessário abrir o gerenciador de usuários e grupos de Fedora. Vá em "Menu, Sistema, Administração, Usuários e Grupos". Após pedir a senha de root, a janela do programa se abrirá.
[caption id="attachment_677" align="aligncenter" width="300" caption="Abrindo o gerenciador de usuários e grupos"]
[caption id="attachment_678" align="aligncenter" width="300" caption="Gerenciador de usuários e grupos"]
No gerenciador de usuários, selecione o usuário principal do sistema, aquele que não deve ter o acesso aos programas alterados. Na aba "grupos", marque a opção "root" para adicionar o usuário ao grupo indicado e, depois disso, marque o grupo primário do usuário como "root". Depois disso, simplesmente adicione o usuário "guest" (ou convidado) através do mesmo programa. Aqui não será necessária a alteração do grupo, uma vez que não fará muita diferença no nosso processo. Feito isso, vamos começar a alterar o acesso do novo usuário a alguns programas.
[caption id="attachment_679" align="aligncenter" width="300" caption="Adicionando usuário ao grupo "root""]
Exemple de alteração de permissão de programa
Agora vamos as alterações de permissão em si. Digamos que você deseja que o seu convidado não possa alterar o tema, nem o papel de parede do sistema. Basta abrir o terminal e executar o comando chmod. O nome do programa que faz a tarefa de gerenciar temas no gnome é o "gnome-appearance-properties". Então, basta abrir o terminal e aplicar tudo o que nós aprendemos. Vou dar permissão 7 (leitura, gravação e execução) para o dono do arquivo (o root), permissão 5 (leitura e execução) para o grupo root - do qual o usuário principal do sistema faz parte - e permissão 0 (sem leitura, gravação ou execução) para os outros usuários. O comando ficaria:
chmod 750 gnome-appearance-properties
A aba "Permissão" das propriedas do arquivo indicado antes era:
E depois fica:
[caption id="attachment_681" align="aligncenter" width="300" caption="Permissões do arquivo após o comando"]
Perceba que não dei permissões totais para os membros do grupo "root". Isso ajuda a manter a segurança do sistema, uma vez que mesmo o usuário principal só tem permissão de executar e ler o conteúdo do arquivo, mas não pode alterá-lo (não tem permissão de gravação), tarefa que fica apenas para o proprietário do arquivo, ou seja, o usuário root.
Se você se logar na conta "guest" e tentar modificar o tema (botão direito na área de trabalho), simplesmente não acontecerá nada, uma vez que não tem permissão para executar o programa.
Ocultando alguns itens do menu "Sistema"
Os itens "preferências" e "administração" do menu "Sistema" também são outro perigo nas mãos do usuário convidado. A ocultação desses itens é bem prática, no entanto, precisa ser feita diretamente da conta do usuário convidado. Abra o terminal e baixe o alacarte, programa para edição do menu do Gnome:
su -c "yum install alacarte"
Depois do download e da instalação, execute o programa no terminal, basta digitar seu nome, ou seja, alacarte. Clique no menu "Sistema" e desmarque a opção "Mostrar" nos itens "Preferências" e "Administração". O Alacarte deverá ficar, mais ou menos, assim:
[caption id="attachment_682" align="aligncenter" width="300" caption="Ocultando itens do Menu no Alacarte"]
Agora, vamos garantir que o nosso convidado não irá alterar o menu. Ainda no terminal, altere as permissões de execução do alacarte.
su -c "chmod 750 /usr/bin/alacarte"
Com isso, o usuário convidado não poderá utilizar o alacarte para mexer nos itens do menu.
Conclusão
Esse post trouxe apenas a base para a criação do usuário convidado. Com base nas informações que estão aqui, você pode alterar as permissões de acesso a diversos programas e mesmo de acesso as pastas, brincar com a criação de usuários e com as permissões que eles podem ter. É interessante também que você tenha cuidado ao alterar as permissões de arquivos do sistema. Um comando errado ou enganado pode acabar com toda a sua instalação. No mais, bons estudos e espero que o post ajude muita gente.
Bem interessante este post, nunca tive a necessidade de ter uma conta Convidado em meus sistemas operacionais, porém o seu post pode ser usado para realizar muitas outras coisas. Parabéns pelo post, muito bem escrito, deixando o texto claro e objetivo, coisa muito importante para os novos usuários do Linux.
ResponderExcluirUm forte abraço!
Obrigado, @F3N1X. Que bom que a postagem alcançou o objetivo de ser fácil para os usuários novos.
ResponderExcluirTambém nunca tive necessidade da criação de usuários convidados, mas sempre haverá alguém que precisará.
Abraços.