Putz, show Paulo. Obrigado pela paci�ncia!
From: Paulo Pires <[EMAIL PROTECTED]> Reply-To: [email protected] To: [email protected] Subject: Re: [FUG-BR] usuario logando com su Date: Wed, 19 Jan 2005 12:20:53 -0200
On Wed, 19 Jan 2005 10:42:21 -0200, louis louis <[EMAIL PROTECTED]> wrote:
> Ol� celso,
>
> funcionou, mas me diz o que � que esse +s faz? habilita o usuario q est� no
> grupo do wheel??? pois quando dou um ls -l /sbin/reboot, antes de dar o
> comando chmod +s ele me retornava:
>
> -r-xr-xr-x 4 root wheel 227484 Oct 9 2002 /sbin/reboot
>
> depois que eu rodei o comando:
>
> -r-sr-sr-x 4 root wheel 227484 Oct 9 2002 /sbin/reboot
>
> O x saiu e entrou o s! O que significa isso?
A sa�da do ls -l mostra na primeira coluna as permiss�es do arquivo, utilizando dez caracteres, que s�o divididos em 4 grupos. O primeiro grupo cont�m apenas o primeiro car�ter, que indica o tipo de arquivo (exemplo: h�fen para arquivo comum, "d" para diret�rio e "l" para link simb�lico).
Os outros tr�s grupos s�o formados pelos caracteres cada, em sequ�ncia, da esquerda para a direita. O primeiro grupo se refere �s permiss�es que o arquivo tem com rela��o ao usu�rio ao qual o arquivo pertence (indicado na terceira coluna; no caso, "root"). O segundo grupo indica as permiss�es do arquivo em rela��o ao grupo a que pertence (quarta coluna; "wheel"). O �ltimo grupo indica as permiss�es que todos os outros usu�rios, diferentes do pr�prio dono ("root") e n�o pertencentes ao grupo ("wheel") t�m sobre o arquivo.
Dentro de cada grupo de caracteres, cada car�ter corresponde a um aspecto de intera��o com o arquivo. O car�ter mais � esquerda � sempre "r" ou "-", com "r" indicando que o arquivo pode ser lido (read), e "-" indicando que o bit de leitura est� desligado, e o arquivo n�o pode ser lido. O segundo car�ter pode ser "w" ou "-", indicando se o arquivo pode sofrer ou n�o acessos de escrita (write). O terceiro car�ter � geralmente "x" ou "-", indicando se o arquivo � execut�vel (ou, no caso de diret�rios, se � poss�vel ou n�o entrar no diret�rio). Assim, "-r-xr-xr-x" para a entrada "reboot" indicia que "reboot" � um arquivo comum, leg�vel e execut�vel por seu dono, por seu grupo e todos os demais usu�rios.
Infelizmente, o ls -l utiliza grupos de tr�s caracteres, como se fosse para mostrar tr�s valores bin�rios, mas h�, na verdade, quatro bits por agrupamento de usu�rio/grupo/outros. Como estes outros tr�s bits afetam apenas arquivos execut�veis, os autores do ls preferiram usar representa��es especiais nas colunas de exibi��o do bit de execu��o, ao inv�s de gastarem outras tr�s colunas, que ficariam a maior parte do tempo com "-". Dois desses bits t�m o car�ter de "set identity", e s�o associados ao usu�rio e ao grupo a que pertence o arquivo execut�vel, sendo, portanto, respectivamente chamados de "set-user-identity" (ou setuid) e "set-group-identity" (ou setgid), signficando, respectivamente, que tal execut�vel, quando executado por qualquer usu�rio, executar� como se tivesse sido executado por seu dono e/ou algu�m do grupo a que pertence.
O ls -l indica que um programa � setuid (e/ou setgid) colocando "s" em lugar de "x" na hora de mostrar as permiss�es relativas ao usu�rio (e/ou grupo) a que o arquivo pertence. Algumas vezes, pode aparecer "S", ao inv�s de "s", o que significa que o bit de set-id est� ligado, mas o bit de execu��o est� desligado.
O terceiro desses bits especiais � atualmente v�lido apenas para diret�rios como o /tmp do sistema, onde qualquer um pode gravar arquivos, mas s� o dono de um arquivo dentro desse diret�rio pode remover tal arquivo. Isto � indicado pelo ls -l ao exibir tais diret�rios com um "t", em lugar de "x", no agrupamento relativo a outros usu�rios (�ltimos tr�s caracteres na primeira coluna do ls -l). Se aparecer "T" nessa posi��o, isso significa que o bit "sticky" est� ligado, mas o bit de execu��o est� desligado.
O "chmod +s /sbin/reboot", que voc� executou, significa, literalmente, "mude (CHange) o modo (MODe) de /sbin/reboot, ligando ("+") todos os bits de Set-identity". Foi o que ocorreu, de fato, pois o ls -l passou a mostrar "-r-sr-sr-x", o que significa:
- o arquivo � um arquivo comum ("-" na primeira posi��o);
- no que diz respeito ao dono do arquivo (posi��es 2 a 4), o arquivo pode ser lido, n�o pode ser escrito, pode ser executado por seu dono e, quando executado (por qualquer um), vai assumir a identidade do usu�rio que est� no arquivo;
- no que diz respeito ao grupo a que o arquivo pertence (posi��es 5 a 7), o arquivo pode ser lido, n�o pode ser gravado, pode ser executado por qualquer membro do grupo e, quando executado (por quem quer que seja), vai assumir a identidade do grupo a que pertence;
- no que diz respeito a todos os (outros) usu�rios do sistema (posi��es 8 a 10), o arquivo pode ser lido, n�o pode ser escrito e pode ser executado.
Ou seja, qualquer usu�rio da m�quina pode fazer com que ela reboote.
Compare isto com as do programa shutdown.
% ls -l /sbin/shutdown -r-sr-x--- 1 root operator 168672 Sep 25 2003 /sbin/shutdown
O shutdown, que � uma interface melhorada aos comandos reboot, halt e poweroff, pode ser lido e executado pelo seu dono (root) ou qualquer membro do grupo operator. Outros usu�rios n�o podem l�-lo nem execut�-lo (veja que as posi��es 8 a 10 est�o todas com "-"). Quando executado, o programa vai assumir o car�ter de root (setuid) sem mudar o car�ter do grupo (at� porque seria in�til, pois quem j� tem car�ter de root j� pode assumir a identidade de usu�rio e grupo que quiser).
Leia mais sobre permiss�es em chmod(1) e chmod(2). -- Um abra�o. Paulo A. P. Pires
... Qui habet aurem audiat quid Spiritus dicat ecclesiis.
_______________________________________________________________ Para enviar um novo email para a lista: [email protected] Sair da Lista: http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br Historico: http://www4.fugspbr.org/lista/html/FUG-BR/
_________________________________________________________________
MSN Messenger: converse online com seus amigos . http://messenger.msn.com.br
_______________________________________________________________ Para enviar um novo email para a lista: [email protected] Sair da Lista: http://mail.fug.com.br/mailman/listinfo/freebsd_fug.com.br Historico: http://www4.fugspbr.org/lista/html/FUG-BR/

