Como executar aplicativos como root?

10

Estou tendo um problema estranho com Kate e Kwrite. Quando eu clico em abrir arquivo , ele falha com falha de segmentação.

Sou um novato completo no Linux e acho que o problema é que não estou executando o aplicativo como root.

Como faço para executar aplicativos como root no Ubuntu? É uma prática ruim fazer isso? Qual é o propósito de toda a coisa raiz, onde apesar de precisarmos usar root com tanta freqüência, ela não é utilizada como padrão?

    
por l--''''''---------'''''''''''' 28.10.2012 / 05:24

4 respostas

12

É muito simples executar um programa como root.

Para um programa de console, use

sudo <program name>

Se for um aplicativo de interface gráfica, use

gksudo <program name>
    
por Goddard 28.10.2012 / 05:28
12

Sistemas operacionais semelhantes ao UNIX (incluindo Linux) usam um conceito chamado separação de privilégios para garantir que o sistema permaneça seguro. O UNIX foi projetado como um sistema multiusuário desde o início - isto é, foi projetado para que muitas pessoas pudessem usar um computador executando o UNIX de uma só vez. Como a maioria dos usuários não precisa modificar o sistema principal, apenas o administrador do sistema deve ter esse privilégio. Esse usuário privilegiado é tradicionalmente chamado de root . (Root é muito parecido com o administrador no Windows.)

Isso faz sentido em vários níveis. Geralmente, um servidor da Web ou outro processo que expõe uma porta a outros computadores (possivelmente maliciosos) será executado como seu próprio usuário (o Apache é executado como o usuário nobody ), para que, mesmo se o programa do servidor da Web for invadido, o invasor Não destrua a máquina inteira com tanta facilidade. Faz sentido para a maioria das máquinas de usuário único, como desktops: se outros membros de sua família, por exemplo, de alguma forma conseguem executar rm -rf / ( NÃO executem isso ), eles não terão permissão para apagar todos os arquivos no sistema , como se não houvesse separação de privilégio.

Existem vários comandos que você pode usar para elevar seus privilégios. O comando sudo existe para conceder temporariamente privilégios no nível de raiz quando você precisar deles para administrar o sistema. Você também pode usar os comandos gksudo ou su . O último pode ser usado somente se você souber a senha do root e for uma boa opção se sua conta não tiver permissão para usar sudo .

O usuário root pode fazer qualquer coisa em um sistema, quase sem exceções. Assim, mesmo que você solicite algo por acidente, ele será realizado com pouco ou nenhum aviso, mesmo que seja ruim para a saúde do seu sistema. É por isso que é uma boa prática fazer a maioria de suas atividades como um usuário normal e usar o root somente quando necessário, como quando você está instalando um programa.

Você não precisa usar o root para se livrar de uma falha de segmentação. Se root é a única coisa que corrige um segfault, então o programa tem um bug. Os programas não devem falhar assim porque eles não têm raiz.

    
por thirtythreeforty 28.10.2012 / 06:22
4

Além da resposta anterior, que diz sobre sudo e gksudo, sim, é definitivamente uma prática ruim executar um programa como root, a menos que seja administrativo.

Por favor, tente encontrar por que os programas estão falhando. Por favor, procure ajuda de outras pessoas se precisar.

    
por Masroor 28.10.2012 / 05:45
1

Você também pode ir para /usr/share/applications no Ubuntu e editar o arquivo de inicialização do aplicativo que está tentando executar.
Como eu editei o arquivo de github atom , normalmente eu uso um curinga para encontrar os arquivos como este

sudo nano atom*

Isso abrirá o arquivo atom.desktop , agora encontrará o comando Exec e prefixará o gksudo.Por exemplo,

Antes

Exec=/usr/share/atom/atom %U  

Depois

Exec=gksudo -k -u root /usr/share/atom/atom %U

Agora, sempre que o aplicativo for iniciado, ele solicitará a senha do root.

    
por Mehul 29.05.2015 / 16:04

Tags