Neste artigo abordarei as permissões no Linux, ou seja, como atribuir/retirar uma permissão, mudar o dono/grupo de um arquivo. Enfim, entender como este mecanismo funciona.
Testando o conhecimento adquirido: um problema e uma solução
Este será um exercício de aprendizado onde se usa e muito tudo que foi passado neste artigo, além de lhes ajudar a se familiarizar com este novo assunto.
Uma vez estava conversando com um cara, a um tempo atrás, e ele me explicando algumas coisas me deu um exemplo parecido com o que passarei, e meu funcionou, no outro dia conseguia lembrar tudo que me foi passado e entender realmente.
Obs.: Se você deseja prestar a LPIC 1 (101), treine o que aqui será passado, pois permissões caem e muito e isso lhe mostrará um ambiente interessante, além de forçar você a utilizar as permissões, tanto normais como especiais, umask e alterar grupo/dono de usuário.
Vamos ao cenário:
Eu, administrador de sistema, em um dia calmo e tranqüilo recebo a seguinte tarefa:
"Prezado Fábio, estaremos reativando algumas áreas, sendo mais específicos alguns setores, e precisaremos que você monte esta estrutura para nós, segue abaixo o que precisaremos:
Estes novos setores teriam uma faixa de 5 usuários em cada, conforme havia lhe passado os nomes por e-mail, eu preciso que você monte uma hierarquia bem definida, onde cada setor só possa interagir dentro daquilo que lhe é de interesse, ou seja, cada grupo possa apenas ver seus arquivos, e que cada usuário só tenha direito de excluir aquilo que é seu (se quiserem ir além) ---> peço-lhes que o mesmo seja feito com o home dos novos usuários, mande-me depois como será esta nova hierarquia."
Uma tarefa simples? Terá problemas ao longo do caminho? Sim.
Não resolverei este problema por inteiro para vocês, pois senão não praticarão, apenas irão copiar e colar, então montarei a hierarquia junto com vocês, e lhes alertarei de uma simples tarefa que vocês terão que resolver.
Montando a hierarquia:
Aconselho que isto seja feito no /tmp, apenas para exemplo, afinal tudo será apagado no próximo boot:
Obs.: Primeiro monte toda hierarquia destes diretórios e se você for criar os usuários e o home, não precisará criar o home. Uma dica, na hora que for criar o usuário faça da seguinte maneira:
# user -c "Fábio Maran" -d /home/maran -g Compras - m maran
Certo, toda hierarquia criada, agora crie os usuários de cada área.
Feito isso você verá na listagem acima que ainda não foram definidos os grupos e tudo mais, então você usurá o chown para mudar isto, deixando cada setor no seu respectivo grupo.
Agora está tudo certo né? Todos os diretórios foram criados, agora mude as permissões de cada diretório para os grupos certinho onde cada grupo só acesse seus diretórios, você usará o chmod.
Caramba, foi simples né? Porém agora você terá que definir em cada novo setor uma permissão para que só quem criou o arquivo possa deletar. Você também usará o chmod, mas com um outro tipo de permissão.
Outro usuário do grupo técnicos conseguirá editar este arquivo?
Não! E por quê?
Porque este arquivo foi criado assim?
Mas o outro usuário esta no grupo já coloquei ele lá, e mesmo assim não consigo alterar.
Lembre-se do porque os arquivos e diretórios são criados com algumas permissões que você resolverá o problema.
Espero que realmente testem e consigam entender perfeitamente as permissões.
[1] Comentário enviado por robsonbraga em 02/09/2008 - 11:34h
Cara, parabens, já conheço bem do assunto, mas sempre dou umas espiadas nos artigos e o seu está muito bom, bem didático e bem escrito, até parece que ta escrevendo o livro PERMISSÕES FOR DUMMIES.
[4] Comentário enviado por fulllinux em 02/09/2008 - 13:37h
Ponte que partiu kara!!!! Já está aqui... ehehe... posso dizer que esse já tive a oportunidades de dar uma espiada!!! heheh...
Grande maran... kara esse ficou show!!!!
[5] Comentário enviado por gjr_rj em 02/09/2008 - 13:55h
Cara, parabéns !!!!
Acho que como todos que comentaram, entrei apenas parar ver, pois acreditava que iria falar de um assunto, já bem, conhecido por mim e acabei aprendendo muita coisa.
Não li muitos artigos sobre permissões para poder comparar, mas pela qualidade do seu, apostaria alto em que não houve artigo nem parecido.
[6] Comentário enviado por maran em 02/09/2008 - 14:07h
@Rafael, puxa foi rapido meu velho mostrei ele para vocÊ, e logo depois já veio pra cá shuhusahusahusahusahu.
Vaaleu meu velho :)
@Geraldo, fala meu velho, como que estas?
Muito obrigado pelo comentário, bom quanto a outros artigos, cada um tem seu diferencial, porem todos vem para somar, assim como o meu!
[14] Comentário enviado por kalib em 04/09/2008 - 10:56h
Isso tudo foi pra me fazer ficar cansado?? hauhauah
Show de bola cara...bem completo e extenso. ;] Boa didática...
Tive que dividir em dois dias de leitura pq esses dias tem sido corridos aqui no trabalho..por isso demorei a comentar.. huahah
[15] Comentário enviado por maran em 04/09/2008 - 11:24h
@kalib, fala meu velho, uhsauhashuashusa
cansado rsrs, eu ia manda lá pra aquele nosso esquema, mas ia ficar muito grande oO"
ehhehe que isso meu velho, obrigado pelo comentário ;)
[16] Comentário enviado por pink em 04/09/2008 - 13:38h
Maranzinho, parabéns... li inteiro seu artigo, nossa muito bom, fácil entendimento, bom português..... apesar de nada novo ser me apresentado eu tinha que comentar hehehe, artigos como esses valorizam o VOL, pode ter certeza que esse artigo é muito mais que somar, é multiplicar valores...
Permissões é algo essencial a todo user/adm, esse tutorial será útil não somente para iniciantes, para avançados também sobre um tema muito importante e pouco discutido.
Parabéns novamente, obrigada pela contribuição, você tem toda a minha admiração....
# chmod 700 /root/pink/s2/maran
Fique com Deus,
Michele [pink]
[17] Comentário enviado por maran em 04/09/2008 - 13:51h
@caipirinha, Olá minha querida :)
Ahh que bom que o cê gosto do artigo do compade aqui, rsrsrs
Brincadeira a parte, realmente este é um assunto muito importante, e realmente pouco comentado, mais creio eu pelo fato de ser de simples entendimento de todos , mas é sempre bom prevenir né?
Bom:
# cd /s2
# mkdir caipirinha
# echo 'você pode' > fazeroseguinte.txt
# chmod 700 /s2/*
# echo 'rabiscar,pintar e bordar' > aquidentro.txt
[18] Comentário enviado por homme em 08/10/2008 - 20:26h
O artigo contribuiu muito para meu aprendizado, tem muuita informação.
Porém, a tabela octal me deixou confuso a princípio.
Quando atribuo a permissão 321, ela mostra '--wx-w---x' e não '-r-x-w-r--' como mostra o exemplo.
Fiz alguns testes de 000 até 777 e eu cheguei a uma tabela
1 - x
2 - w
4 - r
Desculpe se estou falando asneiras.
Muito obrigado.
Rafael
[19] Comentário enviado por fainfo em 13/12/2009 - 18:20h
Nossa cara me matei lendo artigos aqui pra entender umask, e o seu foi muito claro didático, porra muito bem, agora com esse método eu não preciso fazer mais cálculo com binários?
se quiser mandar resposta por e-mail " fainfonet@gmail.com
[20] Comentário enviado por fbcborges em 24/06/2010 - 10:07h
Muito bom o artigo, sou iniciante obtive recentemente no curso essas permissões e com mais esse material, deu para clarear bastante o raciocíonio perante a esta função do Linux.
Parabêns pelo artigo, agradeço em nome de todos os iniciantes em Linux.
[25] Comentário enviado por edertux em 04/03/2015 - 17:38h
Parabéns @maran, artigo de alto nível!
Galera do VOL, ainda estou com uma dúvida:
Criei dois arquivos teste:
/home/edertux/primeiro, é vazio e com permissão -rw-r--r-- para receber qualquer coisa.
/home/edertux/segundo,é um script e com permissão -rwsr-xr-x para alimentar o /home/edertux/primeiro.
Faço login com um segundo usuário, executo /home/edertux/segundo normalmente (afinal, ele tem permissão para isso), porém quando chega na parte de alimentar (echo "Qualquer coisa" >> /home/edertux/primeiro) ele dá permissão negada.
Partindo do princípio que o /home/edertux/segundo está com SUID habilitado, outros usuários não deveriam conseguir alimentar o /home/edertux/primeiro ao executar /home/edertux/segundo?