Permissoes de usuario [RESOLVIDO]

1. Permissoes de usuario [RESOLVIDO]

Jonatas Souza da Silva
jotasouza

(usa Debian)

Enviado em 12/06/2009 - 15:09h

Eu preciso saber do conceito...não é uma questão de login ou não...

Tipo assim...eu sou o usuário root e crio uma conta para o "joao". Ele não tem permissão para acessar e escrever na pasta SHADOW- (/etc/shadow) e mudar a sua senha pessoal.
Mas através do comando - su passwd - ele consegue(se vc ir la na pasta shadow, vai ver que a senha dela foi alterada(se vc comparar com a antiga criptografia vai ver que esta diferente)).

Eu preciso saber como que o "joao" consegue alterar, mesmo não tendo a permissão de acesso e nem para escrever na pasta shadow?
Como é possivel?



  


2. MELHOR RESPOSTA

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 14/06/2009 - 21:13h

A questão é o bit de permissão suid!

Quando este bit está setado, permite executar o comando como se fosse ele. Vamos a um exemplo, citado por você mesmo:

(e você pode reproduzir ai no seu Linux)
ls -la /etc/shadow
-rw-r----- 1 root shadow 1140 2009-05-11 20:45 /etc/shadow

Veja que APENAS O ROOT tem permissão de escrever no arquivo. Isto é ótimo, imagina se todos pudessem escrever! Todos poderiam criar senhas de usuários! INADMISSÍVEL.

Mas como o João consegue trocar a sua senha então?
Para trocar ele usa o programa passwd. Vamos ver como está as permissões deste binário:

ls -la `which passwd `
-rwsr-xr-x 1 root shadow 79208 2008-06-06 21:41 /usr/bin/passwd


O arquivo nos diz que pertence ao usuário root. Todos podem ler e executar. Mas veja o valor 's' no campo de execução do usuário. Este é o SUID. Diz que aqueles que puderem executar o comando (e todos podem) o farão como se fossem o root. Logo, quando o João executa passwd ele é ROOT para este comando.

Claro que o binário passwd foi cuidadosamente escrito para que João não pudesse fazer nada mais do que apenas trocar a sua senha. Bugs históricos em binários SUID permitiam invasões e ter cuidado nisto é sempre imprescindível.


3. Re: Permissoes de usuario [RESOLVIDO]

Takahashi
signout

(usa Slackware)

Enviado em 12/06/2009 - 15:54h

De uma olhada no excelente artigo do Elgio sobre armazenamento de senha no linux, pode te ajudar

http://www.vivaolinux.com.br/artigo/Armazenamento-de-senhas-no-Linux/

E tambem o artigo do crildo

http://www.vivaolinux.com.br/artigo/Autenticando-usuarios

Espero que ajude




4. Re: Permissoes de usuario [RESOLVIDO]

André
andrezc

(usa Debian)

Enviado em 12/06/2009 - 18:25h

O artigo que ele postou acima ta muito bom, mas da uma googlada