Thiago Macieira <[EMAIL PROTECTED]> writes:

> A situa��o pode ter mudado, mas na �ltima vez que eu tentei, um script n�o 
> podia ser setuid por ele mesmo. Ou seja, o fato de ele ter o bit setuid 
> ativado n�o significa que ele ser� rodado como com EUID igual ao dono do 
> arquivo.
>
> Para isso, � necess�rio que o interpretador do script (/bin/sh na maioria dos 
> casos) seja setuid tamb�m e que honre o bit no arquivo.
>
> Isso ou simplesmente o /bin/sh faz seteuid(getuid()) no come�o da execu��o e 
> remove os privil�gios.
>
> O fato � que um script de shell setuid roda normalmente, como se n�o fosse 
> setuid.

A minha resposta era gen�rica quanto ao SUID bit, mas voc� tem raz�o
na parte do interpretador.

At� pouco tempo, o Perl --- por exemplo --- tinha o suidperl, um
interpretador com SUID e SGID bits ativos e que fazia a mudan�a do
usu�rio se o script tivesse o SUID/SGID bit ativado. A mudan�a era
transparente para o usu�rio (e ele usava a mesma chamada ao
/usr/bin/perl). Esta maneira foi abandonada devido a problemas de
seguran�a (vide alternativa a ela em
http://www.g2ctech.com/artigos/perl-suid.html --- esta solu��o serve
para qualquer tipo de script, n�o apenas Perl) em sua utiliza��o.

Normalmente, para scripts shell, o bit � ignorado como voc� disse. N�o
� recomend�vel ter o shell com este bit ativado pois ao efetuar o
login o usu�rio ir� ter permiss�es do propriet�rio do bin�rio
(geralmente o root). Esta era uma falha comum e muito explorada quando
se tinha acesso a m�quinas por a�. :-)


Sds,
-- 
Godoy.         <[EMAIL PROTECTED]>

Assinantes em 15/01/2003: 2248
Mensagens recebidas desde 07/01/1999: 197098
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista: 
            mailto:[EMAIL PROTECTED]

Responder a