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]
