Leia, grave e execute!
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.
Parte 9: 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:
Novas áreas:
Técnicos ----> 5 usuários
Administração ----> 5 usuários
Compras ----> 5 usuários
Estoque ----> 5 usuários
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
Montem a hierarquia da seguinte maneira:
/departamentos
.
|-- administracao
|-- compras
|-- estoque
`-- tecnicos
Depois de criados os diretórios, rode o comando para verificar as permissões:
# tree -d -L 1 pug /tmp/departamentos
departamentos
|-- [drwxr-xr-x maran maran ] administracao
|-- [drwxr-xr-x maran maran ] compras
|-- [drwxr-xr-x maran maran ] estoque
`-- [drwxr-xr-x maran maran ] tecnicos
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.
Depois de feto isso, rode novamente um:
# tree -d -L 1 pug
Deve ser retornado algo como:
departamentos
|-- [drwxrwx--- root administ] administracao
|-- [drwxrwx--- root compras ] compras
|-- [drwxrwx--- root estoque ] estoque
`-- [drwxrwx--- root tecnicos] tecnicos
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.
Perfeito, faça apenas um teste:
# ls -l /tmp/departamentos/tecnicos
drwxrwx--T 2 root tecnicos 4096 2008-08-24 20:47 tecnicos
Pronto, tudo certinho né?
Mas que tal mais um teste antes?
Logue com algum usuário de um dos setores que foi criado.
Ex.: Vou logar com o usuário joão do grupo técnicos, e criarei um arquivo lá dentro do diretório /tmp/deptos/tecnicos.
# touch /tmp/departamentos/tecnicos/teste.txt
# ls -l /tmp/departamentos/tecnicos/teste*
-rw-r--r-- 1 joao tecnicos 0 2008-08-24 21:03 teste.txt
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.
É isso aí galera.
Grande abraço. :)
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:
Novas áreas:
Técnicos ----> 5 usuários
Administração ----> 5 usuários
Compras ----> 5 usuários
Estoque ----> 5 usuários
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
Montem a hierarquia da seguinte maneira:
/departamentos
.
|-- administracao
|-- compras
|-- estoque
`-- tecnicos
Depois de criados os diretórios, rode o comando para verificar as permissões:
# tree -d -L 1 pug /tmp/departamentos
departamentos
|-- [drwxr-xr-x maran maran ] administracao
|-- [drwxr-xr-x maran maran ] compras
|-- [drwxr-xr-x maran maran ] estoque
`-- [drwxr-xr-x maran maran ] tecnicos
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.
Depois de feto isso, rode novamente um:
# tree -d -L 1 pug
Deve ser retornado algo como:
departamentos
|-- [drwxrwx--- root administ] administracao
|-- [drwxrwx--- root compras ] compras
|-- [drwxrwx--- root estoque ] estoque
`-- [drwxrwx--- root tecnicos] tecnicos
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.
Perfeito, faça apenas um teste:
# ls -l /tmp/departamentos/tecnicos
drwxrwx--T 2 root tecnicos 4096 2008-08-24 20:47 tecnicos
Pronto, tudo certinho né?
Mas que tal mais um teste antes?
Logue com algum usuário de um dos setores que foi criado.
Ex.: Vou logar com o usuário joão do grupo técnicos, e criarei um arquivo lá dentro do diretório /tmp/deptos/tecnicos.
# touch /tmp/departamentos/tecnicos/teste.txt
# ls -l /tmp/departamentos/tecnicos/teste*
-rw-r--r-- 1 joao tecnicos 0 2008-08-24 21:03 teste.txt
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.
É isso aí galera.
Grande abraço. :)
Abraço.