Em Sexta 30 Março 2001 18:24, Marcio Merlone escreveu:
> Tenho apenas uma noção meio sombreada do que são SETUID e SETGID. Alguém
> pode dar uma explicada para que serve, como usa, quais os riscos? Não
> consegui achar muita info a respeito, e se alguém puder falar minha língua,
> agradeço.
Ola Marcio.
Alem dos tipos de permissoes padrao q existem (read, write e execute) para
dono do arquivo, grupo do arquivo e demais usuarios, tambem existem os tais
SUID e SGID.
Eles funcionam da seguinte forma:
Se vc "setar" o SUID de um arquivo, significa q toda vez q ele "rodar" ele
ira faze-lo com o privilegio do dono do arquivo e nao do usuario q o "rodou".
Por exemplo: Vamos supor q vc tenha um programa chamado "xyz" cujo dono eh o
usuario ALEX e o grupo DEVELOP. Se o usuario ALEX setar a permissao SUID para
este programa, mesmo q o usuario FULANO execute o programa, este programa ira
"rodar" com os privilegios do usuario ALEX, como se fosse o usuario ALEX q
tivesse "rodado" o programa.
O uso deste artificio reside no fato de q muitos programas dependem de outros
programas e arquivos para concluir determinada tarefa, entao se o usuario
tiver pemissao para "rodar" este programa, pode ser q este programa (sendo
executado em nome deste usuario) nao tenha permissao suficiente para executar
outros programas ou abrir determinados arquivos. Sacou!!!
Porem isto nao eh algo aconselhavel a se fazer pois vc pode "erroneamente"
setar o SUID de um programa e deixar liberada a permissao de gravacao deste
arquivo. Ai algum "malandrao" pode criar um script para alterar o conteudo
deste programa e conseguir efeitos indesejados como um shell com privilegio
root (se o root for o dono deste arquivo, por exemplo).
No caso do SGID eh igualzinho soh q aplicado ao grupo do usuario.
Em octal, a "setagem" destas permissoes sao: 2000 para SGID e 4000 para SUID.
Analisemos o seguinte exemplo: Arquivo "xyz", dono ALEX, grupo DEVELOP. Se vc
quiser "setar" o SUID deste arquivo vc podera faze-lo da seguinte forma:
chmod 4744 xyz. Isso indica q o arquivo tem SUID e suas permissoes sao
leitura, gravacao e execucao para o dono do arquivo, leitura e execucao para
o grupo e outros usuarios. Para "setar" SGID eh so dar um chmod 2744.
Mais um detalhe, quando vc der um ls -la, aparecera o caractere "s" no lugar
do "x" da coluna das permissoes do dono do arquivo indicando arquivos com
SUID e na coluna das permissoes do grupo do arquivo indicando arquivos com
SGID.
Exemplo:
-rwsr-xr-x
|
+-------> Bit SUID
-rwxr-sr-x
|
+----> Bit SGID
OBS: Vc soh conseguira visualizar corretamente o esquema acima se mudar a
fonte para uma fonte "monoespacada".
Acho q eh isso.
Se eu tiver falado alguma "besteira" por favor me corrijam. ;-)
T+
--
Jorge Luiz de Paula Martins Filho
Analista de Sistemas
Linux Registered User # 189215
--
Jamais deixe seu computador saber que você está com pressa!
Assinantes em 31/03/2001: 2188
Mensagens recebidas desde 07/01/1999: 107287
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]
Re: (linux-br) Afinal, como funciona e pra que serve SETUID e SETGID?
Jorge Luiz de Paula Martins Filho Sat, 31 Mar 2001 13:43:29 -0800
- (linux-br) Afinal, como funciona e pra q... Marcio Merlone
- Jorge Luiz de Paula Martins Filho
