Como posso fazer com que tudo apenas assuma que estou executando como superusuário?

10

Existe uma maneira de fazer as coisas suporem que, quando eu as executo, eu as execute como um administrador privilegiado (AKA root)? Eu sei que poderia ser perigoso e tudo, mas é um risco que estou disposto a correr em nome da conveniência.

Jon
fonte
Não faça isso. Isso quebrará seu sistema (além de expor sua máquina a ataques). Leia unix.stackexchange.com/questions/1052/…
MarkovCh1
Mas se você ainda deseja executar aplicativos específicos como root, consulte wiki.archlinux.org/index.php/Sudo
MarkovCh1
1
Jon, revirei sua edição. Mesmo que você não faça isso, a pergunta / resposta ainda permanece útil para qualquer outra pessoa que esteja considerando isso. Para manter esta página útil a questão deve permanecer, ou novos visitantes só vai ver "questão retirado", seguido de uma resposta a uma pergunta que não pode ver :)
Césio
2
Não deve ser votado negativamente pela mesma razão #
Mark Rooney
2
Sim, é uma excelente pergunta. A única coisa estúpida aqui é não seguir o conselho nos comentários e respostas. 1
Tom Brossman

Respostas:

21

Normalmente, eu incluía instruções em uma resposta, mas essa é uma péssima idéia. Vou apontar alguns lugares para ler sobre como fazer isso. Você pode levá-lo de lá. Observe que quando você interrompe o sistema, pode postar aqui novamente para obter ajuda, mas as pessoas riem e sacudem a cabeça e fazem referência a erros de pebkac , etc.

Primeiro, a página de ajuda do Ubuntu no Root / sudo. Observe os três avisos grandes e importantes.

Aqui está um usuário dos Fóruns do Ubuntu que fez algo assim e não conseguiu consertar seu sistema.

Mantenha backups de seus dados se você o fizer e considere a sabedoria de negociar segurança por conveniência. Talvez coloque um álbum antigo dos Dead Kennedys enquanto você reinstala ...

Tom Brossman
fonte
3

Se você está interessado apenas em coisas específicas em execução como root, o bit setuid é o recurso apropriado.

Ao definir esse bit, o programa será executado com as permissões de seu proprietário. Portanto, você pode pegar um programa, alterar seu proprietário para root, definir seu bit setuid e esse programa será executado como root sem nenhuma intervenção especial.

Alguns programas no Ubuntu são configurados por padrão - por exemplo, ping

> ls -l `which ping`
-rwsr-xr-x 1 root root 35712 2011-05-03 11:43 /bin/ping

Este programa precisa ser executado como root porque somente o root pode abrir uma porta abaixo de 1024 para escutar, o que é necessário para escutar pacotes de retorno.

Como observado, a permissão padrão de permissões de root por programas é perigosa e geralmente é reservada para programas simples e bem auditados - qualquer programa que possa ser explorado como resultado de entrada externa corre o risco de expor todo o seu sistema a comprometer, em vez de apenas as áreas às quais sua conta de usuário tem acesso.

Adrian
fonte
Não relacionado:: sigh: Segurança Unix: deve doar todo o sistema para abrir uma porta de escuta. Como isso funciona? Ninguém executa, por exemplo, apache como root ...
Billy ONeal
1
Acredito que o Apache lida com isso gerando processos filho com UIDs menos privilegiados e iniciando apenas um processo mestre que abre a porta 80 como raiz. Os processos filho tratam de todas as solicitações do usuário. Penso que outro padrão comum é que os processos iniciarão o setuid root e, em seguida, usarão o setuid para mudar para um usuário limitado assim que adquirirem os recursos necessários para a raiz; unixwiz.net/techtips/chroot-practices.html
Adrian
1

Por favor, não faça isso. Você não está apenas se machucando, mas também está machucando os outros. Existem suficientes zumbis, spambots e hosts DDoS como estão.

Jo-Erlend Schinstad
fonte