Fundamentos do Sistema Linux - Permissões
por
em 15-05-2010 às 08:58 (11695 Visualizações)
Boa dia, ao ver que muitos usuários necessitam liberar os comando Shutdwon e Reboot no linux para usuários que não seja root resolvi publicar está matéria alterada por mim, limitarei a mesma ao nível user quem quiser saber mais no final do texto terá o link do artigo de referencia.
Permissões especiais
Além das permissões simples de leitura, escrita e execução, existem outras três permissões, conhecidas como permissões especiais por só poderem ser aplicadas a tipos específicos de arquivos, que fornecem um alto nível de segurança ao sistema e privacidade aos usuários.
As permissões especiais são fornecidas pelos chamados bits, a saber: SUID, SGID e STICKY, dos quais trataremos a seguir.
1.1- SUID
O bit SUID (Set UID) pode ser aplicado somente para arquivos executáveis, para que eles rodem com as permissões do seu dono, e não com as permissões do usuário que o executou. Dessa forma, suponha um executável que tenha sido criado pelo usuário root com o bit SUID ligado. Então, se o usuário testeuser executar esse arquivo, ele rodará como se fosse o root que o estivesse executando.
Isso pode ser útil para permitir que usuários comuns executem programas restritos ao administrador do sistema, como o shutdown, reboot, e outros.
Tomemos como exemplo o shutdown. Ele está localizado no diretório /sbin/, e não pode ser executado por usuários comuns, retornando a seguinte mensagem de erro:
$ /sbin/shutdown
shutdown: you must be root to do that!
Ou seja, "shutdown: você precisa ser root para fazer isso!".
1.2- Ativando bit SUID
Vamos então ativar o buit SUID para permitir que o usuário testeuser possa executar o shutdown:
# chmod 4755 /sbin/shutdown
# chmod 4755 /sbin/halt
Ou
# chmod u+s /sbin/shutdown
# chmod u+s /sbin/halt
Observe que utilizamos 4 dígitos para o comando chmod no formato octal. O primeiro dígito, que até então não tínhamos utilizado, é justamente aquele utilizado para as permissões especiais. O número 4 corresponde ao bit SUID. Já no formato literal, utilizamos u+s para ativar (+) a permissão especial de execução (s) para os usuários (u).
Observe agora as novas permissões do /sbin/shutdown:
$ls -la /sbin/shutdown
-rwsr-xr-x 1 root root 23608 Ago 12 2008 /sbin/shutdown
$ls -la /sbin/halt
-rwsr-xr-x 1 root root 23608 Ago 12 2008 /sbin/halt
Repare que agora existe um "s" no lugar do "x" nas permissões do dono. Esse é o indicador de que o bit SUID está ligado.
Por fim, vamos criar um atalho para o shutdown no diretório /bin/, para que o usuário testeuser possa executá-lo sem precisar digitar o caminho completo:
# ln -s /sbin/shutdown /bin/shutdown
# ln -s /sbin/halt /bin/halt
# ln -s /sbin/reboot /bin/reboot
Agora, o usuário testeuser e todos os demais usuários do sistema poderão executar normalmente o comando shutdown e reboot, como se fosse o root que o estivesse executando.
$ shutdown -h now
1.3- Fim
Isso é tudo, se quiserem mandar reclamações, críticas, sugestões, mandem-nas para
[email protected]
Espero que ajude a todos compreender como funciona o bit SUID.
Link de referencia original: http://www.vivaolinux.com.br/artigo/...soes/?pagina=1 Por: Davidson Rodrigues Paulo
Comentários
+ Enviar Comentário