Como executar aplicativos como root?


13

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

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

Como executo aplicativos como root no Ubuntu? É uma prática ruim fazer isso? Qual é o objetivo de toda a raiz, onde, embora tenhamos que usar a raiz com tanta frequência, ela não é utilizada como padrão?


Você pode fazer algumas coisas muito prejudiciais ao usar o root para abrir um editor; portanto, não siga esse caminho;) 2 outras soluções que não exigem o root: tente corrigir o segmentation faultou use outro editor (o gedit é o editor do gnome). kate e kwrite são programas do KDE (então não o Gnome).
Rinzwind 28/10/12

1
que coisas prejudiciais podem ser feitas com o editor de texto. parece uma loucura
l

1
@ АртёмЦарионов Por um lado, como root, você pode editar os arquivos que o seu computador usa para iniciar o sistema operacional ou carregar o seu ambiente gráfico, quebrando efetivamente o seu computador.
24414 Amanda

Respostas:


15

É muito simples executar um programa como root.

Para um programa de console, use

sudo <program name>

Se for um aplicativo GUI, use

gksudo <program name>

13

Os sistemas operacionais do tipo 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 - ou seja, foi projetado para que muitas pessoas pudessem usar um computador executando o UNIX ao mesmo tempo. 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 raiz . (A raiz é muito parecida 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), de modo que, mesmo que o programa do servidor da Web seja invadido, o invasor não pode lixeira a máquina inteira com tanta facilidade. Até faz sentido principalmente para máquinas de usuário único, como desktops: se outros membros da sua família, por exemplo, conseguirem executar de alguma forma rm -rf /( NÃO executar isso ), eles não terão permissão para excluir todos os arquivos do sistema , como fariam se não houvesse algo como separação de privilégios.

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

O usuário root pode fazer qualquer coisa em um sistema, quase sem exceções. Portanto, mesmo se você solicitar algo por acidente, ele será realizado com pouco ou nenhum aviso, mesmo que seja prejudicial à saúde do seu sistema. É por isso que é uma boa prática executar 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, o programa tem um bug. Os programas não devem falhar assim apenas porque não têm raiz.


Eu experimentei esse tipo de erro e normalmente tem a ver com uma permissão de arquivo. Usar rooté como tomar uma marreta para quebrar um amendoim. Melhor identificar o arquivo e decidir se você altera a propriedade ou a permissão conforme necessário. Por exemplo, eu tenho um admingrupo de arquivos que outras pessoas não precisam atualizar ou acessar.
vai

5

Além da resposta anterior, que diz sobre sudo e gksudo, sim, é definitivamente uma má prática 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 necessário.


2

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

sudo nano atom*

Isso abrirá o atom.desktoparquivo, agora encontre o comando Exec e inclua o prefixo gksudo.Por exemplo,

Antes

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

Depois de

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

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


bem, eu não consigo ver esse arquivo no servidor Tomcat. Eu tenho que executar o aplicativo GUI desta maneira: "sudo ./manager-linux-x64.run" todos os dias, o que eu sei que não é uma boa coisa a fazer. Mas o pkexec não está funcionando neste aplicativo.
Prabesh bhattarai 17/01
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.