Compreendendo a raiz do Linux

4

Estou usando o Linux (Ubuntu) há cerca de duas semanas e ainda estou lutando com algum conceito básico em torno do usuário raiz :

  1. Algumas operações do terminal (como fazer subdiretórios dentro de um diretório FHS como / opt ) requerem que eu prefixe o comando com sudo - por quê? Eu acho que estou engasgando é: se eu já estou logado como um usuário do sistema válido, por que eu tenho que ser um superusuário / root, a fim de modificar as coisas que o administrador já me considerou digno acessando?

  2. Existe uma GUI (Gnome, KDE) equivalente ao sudo? Existe uma maneira de assumir uma função de superusuário através de um contexto gráfico, em vez de dentro de um novo shell?

  3. Eu não consigo acessar o diretório / root logado como eu mesmo ... mas eu instalei o sistema para começar e nunca fui solicitado a criar uma conta root! Como logar como root e obter acesso a / root?

por Sathya 03.01.2011 / 15:07

4 respostas

3

  1. sudo permite que você execute um programa como root. Usuários comuns do sistema têm privilégios limitados por razões de segurança. Você não gostaria que o usuário da sua conta de convidado pudesse modificar arquivos do sistema, não? Se você deseja dar privilégios elevados ao seu usuário, deve procurar modificar o arquivo "sudoers".

  2. gksu (tecnicamente uma GUI para su, mas deve ajudá-lo)

  3. Ao contrário da maioria das outras distribuições Linux, o Ubuntu não permite login de raiz por padrão. Todo o acesso root deve ser feito através do sudo. Veja aqui para uma solução alternativa (Isenção de responsabilidade : Não tentei isso, não use Ubuntu eu mesmo). Caso contrário, se você quiser apenas acessar seu diretório / root, você pode fazer isso a partir de um shell (ou iniciar seu gerenciador de arquivos como root com sudo - eu acho que, por padrão, é o Nautilus no Ubuntu).

por 03.01.2011 / 15:17
2

if I'm already logged in as a valid system user, why do I have to be a superuser/root in order to modify things that the sysadmin has already deemed me worthy of accessing?

Quem diz que eles têm?

Se você der uma olhada em /etc/passwd , verá que há muito mais usuários em seu sistema do que você pensa. Por exemplo, o meu parece com isso:

┌─[pearson@Bragi] - [~] - [Mon Jan 03, 11:29]
└─[$]> cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false
mail:x:8:12:mail:/var/spool/mail:/bin/false
ftp:x:14:11:ftp:/srv/ftp:/bin/false
http:x:33:33:http:/srv/http:/bin/false
nobody:x:99:99:nobody:/:/bin/false
dbus:x:81:81:System message bus:/:/bin/false
pearson:x:1000:1000::/home/pearson:/bin/zsh
hal:x:82:82:HAL daemon:/:/bin/false
ntp:x:87:87:Network Time Protocol:/var/empty:/bin/false
avahi:x:84:84:Avahi daemon:/:/bin/false
temp:x:1001:1001::/home/temp:/bin/bash
mysql:x:89:89::/var/lib/mysql:/bin/false
mongodb:x:101:2::/var/lib/mongodb:/bin/false
usbmux:x:140:140:usbmux user:/:/sbin/nologin
kdm:x:135:135::/var/lib/kdm:/bin/false
deluge:x:125:125:Deluge user:/srv/deluge:/bin/false

A maioria deles é usada por vários daemons (programas executados sem interação do usuário); eles tendem a ter permissões muito limitadas, porque não precisam fazer muito. Se eles tentarem fazer algo ruim, seja acidentalmente devido a um bug de software ou intencionalmente por causa de uma exploração de segurança, eles não irão longe.

O ponto principal é que os usuários só devem ter acesso ao que precisam.

Agora, se a sua pergunta for "Por que eu preciso digitar sudo quando já tiver sido adicionado a sudoers ?", a resposta é que sudo executa as coisas como root , em vez de como você. Se nós tornamos todos os arquivos acessíveis ao seu usuário diretamente, ou você acabou de rodar como root em uma base normal, é muito mais fácil fazer coisas ruins acidentalmente ( rm -rf /* vem à mente). Além disso, é uma prática de segurança muito ruim permitir que qualquer aplicativo executado faça o que quiser em seu sistema - é assim que muitos spywares foram instalados em máquinas Windows antes do UAC.

Is there a GUI (Gnome, KDE) equivalent to sudo?

gksu , gksudo , kdesu , kdesudo . É uma boa idéia começar a prática de usá-los para aplicações gráficas, já que eles fazem alguns recursos especiais para evitar problemas como isso .

How do I log in as root

Não. Se você precisar de um shell raiz, use sudo -s , sudo -i ou sudo su .

O Ubuntu vem com a conta root bloqueada, então você terá que alterar a senha para login ( sudo passwd root ). Depois de fazer isso, você pode bloquear ( sudo passwd -l root ) e desbloquear ( sudo passwd -u root ) a conta raiz como quiser. Mas realmente, mantenha-a trancada; você evitará toda uma série de ataques dessa maneira.

and gain access to /root?!?

┌─[pearson@Bragi] - [~] - [Mon Jan 03, 11:54]
└─[$]> sudo -s
┌─[root@Bragi] - [~] - [Mon Jan 03, 11:54]
└─[$]> cd /root

Mas realmente não há necessidade.

    
por 03.01.2011 / 20:56
2
  1. A ideia é que sua conta não seja considerada digna de ser gravada nos diretórios do sistema por motivos de segurança.

  2. Você pode iniciar o Nautilus com privilégios de root usando o "sudo nautilus". Você provavelmente poderia atribuir este comando a um botão no seu painel.

  3. Por padrão, a conta root não está habilitada no Ubuntu. Parece que você pode ativá-lo usando sudo passwd root , que solicitará a senha a ser usada para root, mas isso não é recomendado, em vez disso, você deve usar o sudo para obter acesso root temporário.

por 03.01.2011 / 15:19
1

Ao fazer sudo você temporariamente assume privilégios de root. Geralmente, você deseja verificar as permissões de arquivo primeiro. No Ubuntu, /opt , por exemplo, pertence a root e tem rwxr-xr-x permission. O que significa que seu usuário não pode escrever (isto é, criar diretórios) no diretório.

A conta root está presente, simplesmente porque é "necessária" para executar tarefas administrativas.

    
por 03.01.2011 / 15:20

Tags