{"id":8772,"date":"2023-01-09T18:53:13","date_gmt":"2023-01-09T21:53:13","guid":{"rendered":"https:\/\/swiv.com.br\/?p=8772"},"modified":"2026-05-27T20:02:29","modified_gmt":"2026-05-27T19:02:29","slug":"how-to-run-commands-as-the-root-user-on-oracle-linux-and-solaris","status":"publish","type":"post","link":"https:\/\/swiv.com.br\/index.php\/2023\/01\/09\/how-to-run-commands-as-the-root-user-on-oracle-linux-and-solaris\/","title":{"rendered":"How to run commands as the Root user on Oracle Linux and Solaris"},"content":{"rendered":"\n<p>Por motivos \u00f3bvios de seguran\u00e7a, n\u00e3o \u00e9 esperado que o SysAdmin conceda a senha do usu\u00e1rio root para os DBAs (assim como n\u00e3o concedemos o usu\u00e1rio SYSTEM do banco para terceiros). H\u00e1 a abordagem melhor ainda, quando estas credencias n\u00e3o ficam na posse de nenhuma dessas equipes, e sim em um cofre de senhas administrado pelo time de Seguran\u00e7a.<\/p>\n\n\n\n<p>A quest\u00e3o \u00e9 que a cada dia que passa, \u00e9 mais comum precisarmos rodar comandos &#8220;root&#8221; com um usu\u00e1rio &#8220;comum&#8221;. Para isso, podemos usufruir do recurso do SUDO. Este \u00e9 um conceito f\u00e1cil que vou exemplificar neste artigo.<\/p>\n\n\n\n<p>Ambiente de teste (tamb\u00e9m \u00e9 v\u00e1lido em Oracle Linux):<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n-bash-4.4$ cat \/etc\/*release*\nNAME=&quot;Oracle Solaris&quot;\nPRETTY_NAME=&quot;Oracle Solaris 11.4&quot;\nCPE_NAME=&quot;cpe:\/o:oracle:solaris:11:4&quot;\nID=solaris\nVERSION=11.4\nVERSION_ID=11.4\nBUILD_ID=11.4.0.0.1.15.0\nHOME_URL=&quot;https:\/\/www.oracle.com\/solaris\/&quot;\nSUPPORT_URL=&quot;https:\/\/support.oracle.com\/&quot;\n                             Oracle Solaris 11.4 X86\n  Copyright (c) 1983, 2018, Oracle and\/or its affiliates.  All rights reserved.\n                            Assembled 16 August 2018\n-bash-4.4$\n<\/pre><\/div>\n\n\n<p>Logado com um usu\u00e1rio n\u00e3o privilegiado, validando que o mesmo n\u00e3o tem acesso ao comando shutdown:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n-bash-4.4$ id\nuid=100(swiv) gid=10(staff)\n-bash-4.4$ shutdown\n\/usr\/sbin\/shutdown:  Only root can run \/usr\/sbin\/shutdown\n-bash-4.4$\n<\/pre><\/div>\n\n\n<p>Neste caso, o SA poderia conceder um acesso restrito ao usu\u00e1rio em quest\u00e3o para que o mesmo tenha permiss\u00e3o de executar este comando, conforme exemplo abaixo. Essas regras s\u00e3o persistidas no arquivo &#8220;\/etc\/sudoers&#8221;, mas podemos utilizar o &#8220;visudo&#8221; para fazer as edi\u00e7\u00f5es, pois ele garante que as opera\u00e7\u00f5es se manter\u00e3o \u00edntegras (principalmente ao bloquear o arquivo para os casos de edi\u00e7\u00e3o simult\u00e2nea) e faz a valida\u00e7\u00e3o de sintaxe:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nroot@solariSWIV:~# id\nuid=0(root) gid=0(root)\nroot@solariSWIV:~# visudo\n<\/pre><\/div>\n\n\n<p>Adicionado a seguinte linha:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nroot@solariSWIV:\/sbin# cat \/etc\/sudoers | grep swiv\nswiv ALL=\/sbin\/shutdown\nroot@solariSWIV:\/sbin#\n<\/pre><\/div>\n\n\n<p>Agora logado com o usu\u00e1rio, inclu\u00edmos a instru\u00e7\u00e3o &#8220;sudo&#8221; no momento da execu\u00e7\u00e3o. Ser\u00e1 solicitado a senha deste usu\u00e1rio comum, e o comando \u00e9 executado com sucesso.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n-bash-4.4$ id\nuid=100(swiv) gid=10(staff)\n-bash-4.4$ sudo \/sbin\/shutdown\nPassword:\n\nShutdown started.    Mon Jan  9 22:49:30 CET 2023\n\nBroadcast Message from root (pts\/3) on solariSWIV Mon Jan  9 22:49:30...\nThe system solariSWIV will be shut down in 1 minute\n\n\n<\/pre><\/div>\n\n\n<p>Esta \u00e9 a melhor abordagem: conceder os privil\u00e9gios necess\u00e1rios, e n\u00e3o mais que isso.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por motivos \u00f3bvios de seguran\u00e7a, n\u00e3o \u00e9 esperado que o SysAdmin conceda a senha do usu\u00e1rio root para os DBAs (assim como n\u00e3o concedemos o usu\u00e1rio SYSTEM do banco para terceiros). H\u00e1 a abordagem melhor ainda, quando estas credencias n\u00e3o ficam na posse de nenhuma dessas equipes, e sim em um cofre de senhas administrado [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[],"class_list":["post-8772","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/8772","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=8772"}],"version-history":[{"count":1,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/8772\/revisions"}],"predecessor-version":[{"id":9027,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/posts\/8772\/revisions\/9027"}],"wp:attachment":[{"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=8772"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=8772"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/swiv.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=8772"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}