Como posso executar tudo como root

0

Eu tenho dual booted para lubuntu (com o Windows XP) e toda vez que eu estou pedindo minha senha. Como executo tudo como root e não peço uma senha novamente? O ideal é que eu quisesse rodar o nginx, mas ele tinha permissão para negar problemas:

apathetic@ubuntu:~$ service nginx start
Starting nginx: nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2012/08/03 20:06:25 [warn] 4762#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2012/08/03 20:06:25 [emerg] 4762#0: open() "/var/run/nginx.pid" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed
    
por Jürgen Paul 04.08.2012 / 02:17

2 respostas

6

É uma má ideia executar tudo como root.

Para coisas que realmente precisam ser executadas como raiz (que inclui service nginx start ), a melhor maneira é usar sudo :

sudo service nginx start

Por padrão, isso pedirá sua senha se você não tiver digitado nos últimos 15 minutos.

Você pode configurar /etc/sudoers para permitir que você execute comandos como root sem inserir sua senha usando NOPASSWD . man sudoers para detalhes.

(O comando visudo é a maneira recomendada de editar /etc/sudoers .)

Se você insistir em executar comandos diretamente como root, você pode iniciar um shell de root com

sudo bash

ou

 sudo -i

(equivalente a sudo --login ).

Meu conselho: não faça isso. Digitar sudo para cada comando que realmente precisa de acesso root ajuda a lembrar você de não usá-lo desnecessariamente. É muito fácil de se atirar no pé.

    
por Keith Thompson 04.08.2012 / 02:28
3

você pode usar o comando sudo, na frente da sua string de comando para executar algo como root;

i.e. #sudo service nginx start

Se você quer rodar como root "o tempo todo" (não é uma ótima idéia), você pode definir uma senha para o usuário root (sudo passwd) e depois login, ou su para root.

Se você está apenas olhando para executar este serviço como root "o tempo todo", então você pode adicioná-lo ao /etc/rc.local e isso iniciará o serviço como root no momento da inicialização?

Espero que isso ajude.

    
por Sparky 04.08.2012 / 02:29