{"id":155,"date":"2012-04-11T13:53:00","date_gmt":"2012-04-11T16:53:00","guid":{"rendered":"https:\/\/blog.wieczorek.com.br\/novo\/?p=155"},"modified":"2022-02-24T13:55:29","modified_gmt":"2022-02-24T16:55:29","slug":"como-funcionam-os-tipos-de-permissoes-suid-sguid-sticky-do-linux","status":"publish","type":"post","link":"https:\/\/blog.wieczorek.com.br\/index.php\/2012\/04\/11\/como-funcionam-os-tipos-de-permissoes-suid-sguid-sticky-do-linux\/","title":{"rendered":"Como funcionam os tipos de permiss\u00f5es SUID, SGUID, STICKY do Linux"},"content":{"rendered":"\n<p>Ol\u00e1 pessoal. Hoje irei demonstrar para voc\u00eas como funcionam os tipos de&nbsp;<em>permiss\u00f5es especiais<\/em>, que afetam arquivos execut\u00e1veis e diret\u00f3rios:&nbsp;<em>SUID<\/em>,&nbsp;<em>SGUID<\/em>&nbsp;e&nbsp;<em>STICKY<\/em>, conhecidos tamb\u00e9m como permiss\u00f5es de sistema.<br><br><strong>SUID<\/strong><br><br>Se este bit estiver ligado em um arquivo execut\u00e1vel, isso indica que que ele vai rodar com as permiss\u00f5es do seu dono (o propriet\u00e1rio do arquivo) e n\u00e3o com as permiss\u00f5es do usu\u00e1rio que o executou.<br><br>OBS: S\u00f3 tem efeito em arquivos execut\u00e1veis.<br><br><strong>SGUID<\/strong><br><br>Faz o mesmo que o SUID, mas agora o arquivo executado vai rodar com as permiss\u00f5es do grupo do arquivo. Se aplicado a um diret\u00f3rio, for\u00e7a os arquivos\/diret\u00f3rios criados dentro dele a ter o mesmo grupo do diret\u00f3rio pai, ao inv\u00e9s do grupo prim\u00e1rio do usu\u00e1rio que o criou.<br><br><strong>STICKY<\/strong><br><br>Se este bit for ativado, faz com que arquivos criados em um determinado diret\u00f3rio s\u00f3 possam ser apagados por quem o criou (dono) ou pelo super-usu\u00e1rio do sistema. Um exemplo de uso do STICKY \u00e9 o diret\u00f3rio \/tmp.<\/p>\n\n\n\n<p>Exemplificando:<br><strong><\/strong><a><\/a><\/p>\n\n\n\n<p><strong>SUID<\/strong><br><br>Para demonstrar o uso do SUID vou dar como exemplo o comando&nbsp;<em>shutdown<\/em>, que \u00e9 utilizado para desligar e reiniciar o sistema, mas que s\u00f3 pode ser executado pelo usu\u00e1rio root. Mesmo se voc\u00ea der permiss\u00e3o atrav\u00e9s do &#8220;chmod 755 \/sbin\/shutdown&#8221;, o usu\u00e1rio comum n\u00e3o vai conseguir realizar a execu\u00e7\u00e3o deste, somente o root.<br><br><strong># groupadd shutdown<br># gpasswd -a emilio shutdown<br># chown root:shutdown \/sbin\/shutdown<br># chmod 4750 \/sbin\/shutdown<br># ln -s \/sbin\/shutdown \/bin\/shutdown<\/strong><br><br>Coment\u00e1rios dos comandos acima:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>groupadd &lt;group&gt;<\/strong>: adiciona um novo grupo ao sistema.<\/li><li><strong>gpasswd -a &lt;user&gt;&lt;group&gt;<\/strong>: adiciona um novo membro a um grupo.<\/li><li><strong>chown &lt;usu\u00e1rio&gt;:&lt;grupo&gt; &lt;arquivo&gt;<\/strong>: muda o dono e o grupo de um arquivo\/diret\u00f3rio.<\/li><li><strong>chmod &lt;op\u00e7\u00f5es&gt; &lt;mode&gt;<\/strong>: liga o bit SUID junto com as novas permiss\u00f5es.<\/li><li><strong>-ln -s &lt;source&gt; &lt;dest&gt;<\/strong>: cria um link simb\u00f3lico de um arquivo\/diret\u00f3rio.<\/li><\/ul>\n\n\n\n<p>Agora, logue-se novamente no shell:<br><br><strong># su &#8211; emilio<\/strong><br><br>Agora teste o comando shutdown.<br><br><strong># shutdown -h now<\/strong><br><br>OBS 1: Reparem que, se olharmos as permiss\u00f5es do comando shutdown, veremos um &#8216;s&#8217; na permiss\u00e3o do dono no lugar do &#8216;x&#8217;, isto indica que o bit SUID est\u00e1 ligado.<br><br>OBS 2: &#8216;su &#8211; emilio&#8217; utilizei para que o sistema atualize-se e reconhe\u00e7a que o usu\u00e1rio &#8216;emilio&#8217; agora faz parte tamb\u00e9m do grupo shutdown. Outra forma de fazer isso seria logar-se novamente, o que seria chato pois seria necess\u00e1rio sair do X.<br><br><strong>SQUID<\/strong><br><br>O bit SGUID tem a mesma fun\u00e7\u00e3o do bit SUID, s\u00f3 que agora \u00e9 usada a permiss\u00e3o do grupo do arquivo para execut\u00e1-lo. O SGUID tamb\u00e9m tem uma outra fun\u00e7\u00e3o, que funciona em diret\u00f3rios. Quando este bit est\u00e1 ligado em um diret\u00f3rio ele possibilita que todos arquivos\/diret\u00f3rios criados dentro dele perten\u00e7am ao mesmo grupo desse diret\u00f3rio.<br><br>Vamos a um exemplos para que possamos entender.<br><br><strong># cd \/tmp<br># mkdir publico<br># ls -l publico<\/strong><br>drwxr-xr-x 2 root root 48 2004-11-24 21:21 publico<br><br>Veja que s\u00f3 o root pode escrever nele, ou seja, criar arquivos e diret\u00f3rios.<br><br>Vamos ligar o bit SGUID neste diret\u00f3rio.<br><br><strong># chmod 2777 publico<br># ls -l publico<\/strong><br>drwxrwsrwx 2 root root 48 2004-11-24 21:21 publico<br><br>Observe que o &#8216;s&#8217; indica que o bit SGUID est\u00e1 ligado. Agora entre neste diret\u00f3rio com outros usu\u00e1rios, crie arquivos e diret\u00f3rios, e repare que os arquivos e diret\u00f3rios criados pertencem ao mesmo grupo do diret\u00f3rio pai (diret\u00f3rio antecedente).<br><br>Exemplo:<br><br><strong>$ mkdir teste<br>$ ls -l<\/strong><br>drwxr-sr-x 2 linuxrs root 48 2004-11-24 21:31 teste<br><br><strong>STICKY<\/strong><br><br>Bom, o bit STICKY n\u00e3o tem segredo. Como voc\u00eas j\u00e1 sabem, ele faz com que um diret\u00f3rio funcione igual ao diret\u00f3rio&nbsp;<em>\/tmp<\/em>, onde todos os usu\u00e1rios podem criar arquivos\/diret\u00f3rios mas s\u00f3 o&nbsp;pr\u00f3prio dono do arquivo\/diret\u00f3rio ou o usu\u00e1rio root podem exclu\u00ed-los.<br><br><strong># cd \/tmp<br># mkdir diretorio<br># chmod 1777 diretorio<br><br>$ cd \/tmp\/diretorio<br>$ mkdir teste<br><br># ls -l<\/strong><br>drwxr-xr-x 2 linuxrs users 48 2004-11-24 21:47 teste<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ol\u00e1 pessoal. Hoje irei demonstrar para voc\u00eas como funcionam os tipos de&nbsp;permiss\u00f5es especiais, que afetam arquivos execut\u00e1veis e diret\u00f3rios:&nbsp;SUID,&nbsp;SGUID&nbsp;e&nbsp;STICKY, conhecidos tamb\u00e9m como permiss\u00f5es de sistema. SUID Se este bit estiver ligado em um arquivo execut\u00e1vel, isso indica que que ele vai rodar com as permiss\u00f5es do seu dono (o propriet\u00e1rio [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[84,98,69],"tags":[99,200,201,199],"class_list":["post-155","post","type-post","status-publish","format-standard","hentry","category-linux","category-seguranca-de-ti","category-software-livre","tag-seguranca","tag-sguid","tag-sticky","tag-suid"],"_links":{"self":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts\/155","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=155"}],"version-history":[{"count":1,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts\/155\/revisions"}],"predecessor-version":[{"id":156,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts\/155\/revisions\/156"}],"wp:attachment":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=155"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=155"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=155"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}