web-development-kb-pt.site

Como executo um comando como administrador do sistema (raiz)

Eu preciso executar um comando com privilégios administrativos. Alguém disse que eu deveria executar um comando como root. Como eu faço isso?

66
Stefan

Use su:

$ su -c command

ou

$ su
# command
# exit

Nos dois casos, você será solicitado a senha root. Para mais informações, consulte a página de manual .

8
Steven D

Ou você pode dar a alguns comandos uma superpotência. Estou falando de permissões especiais nas quais os comandos são executados com a permissão do proprietário.

Obtenha o caminho do comando por #which <command> e defina SUID ou SGID para esse caminho.

P.S. - Os bits SUID e SGID devem ser fornecidos com cuidado. Eles podem tornar seu sistema inseguro.

3
Ayush Goyal

Como a pergunta não era específica do Linux, veja como você alcança o mesmo objetivo no Solaris 9+ (ou Trusted Solaris 8):

O Solaris, desde a versão 9, inclui um conjunto de ferramentas afetuosamente chamadas de RBAC, ou Controle de Acesso Baseado em Função.

A essência do RBAC é que, através da concessão de autorizações e direitos, a usuários e/ou funções, ou a concessão de funções a usuários, você pode criar modelos incrivelmente refinados para quem pode executar o que com quais privilégios.

Essencialmente, você identifica a autorização em/etc/security/auth_attr e as concede a usuários ou funções em/etc/user_attr.

Você define perfis em/etc/security/prof_attr. Em seguida, você associa comandos a esses perfis em/etc/security/exec_attr, seguido pela atribuição desses perfis aos usuários no arquivo/etc/user_attr.

Depois que essas coisas são feitas, você realmente executa pfexec <command> para executar o comando com privilégios ou autorizações concedidas a esse usuário para que comando.

O interessante do RBAC é que não há privilégios adicionais concedidos ao próprio comando, ou ao usuário, apenas à combinação de usuário + comando. Portanto, é mais seguro do que criar um + binário, ou apenas usar o Sudo para tornar o usuário capaz de executar praticamente qualquer coisa. (Eu sei que você pode bloquear o Sudo, mas na minha experiência a maioria das pessoas não)

Outra vantagem do RBAC é que você pode tornar o root uma conta de função e atribuir essa função aos usuários que podem se tornar root com o comando 'su' e a senha root. O usuário root também poderá efetuar login no modo de usuário único, o que é melhor (na minha opinião) do que o modelo Linux, no qual você pode desativar a senha root passwd -d root ou bloqueie a conta raiz passwd -l root, os quais dificultam o login como root quando algo dá errado.

Ben Rockwood tem um ótimo post no RBAC que pode ser lido em sando o RBAC no Solaris (aberto) .

3
Tim Kennedy