Entendendo alguns pontos sobre privilégios de root

3

Eu só queria confirmar minha compreensão de algumas coisas relacionadas a privilégios de root. É correto que:

  • O nome de usuário "administrador" não é um nome reservado com privilégios implícitos, é apenas um nome de usuário e eu posso usá-lo sem inadvertidamente derrotar a segurança inerente?
  • Os efeitos do uso do comando SU no terminal são limitados à atividade dentro dessa sessão de terminal. Por exemplo, tornar-se root nessa sessão de terminal não ignoraria a solicitação de senha em um aplicativo simultâneo iniciado, digamos, no menu de aplicativos, nem me dava privilégios de root se eu abrisse outra sessão de terminal simultaneamente.

Além disso, qual comando me diria se atualmente tenho privilégios de root?

    
por fixer1234 27.09.2014 / 17:32

3 respostas

1

The user name "administrator" is not a reserved name with implied privileges, it is just a user name and I can use it without inadvertently defeating inherent security?

Você obtém privilégios de root por ter um número de ID de usuário 0. Se o usuário "administrator" tiver um número de ID diferente, ele será apenas um usuário comum

The effects of using the SU command in the terminal are limited to activity within that terminal session.

Os efeitos são para o shell criado por su (ou qualquer comando executado com a opção -c ). E todos os processos que são descendentes desse shell / comando manterão esses privilégios (a menos que os descartem explicitamente).

Also, what command would tell me whether I currently have root privileges?

id dirá a você qual usuário / grupo você está executando, além dos números de ID do usuário / grupo. Se o número de ID do usuário for 0, você tem privilégios de root.

    
por 28.09.2014 / 03:27
3

O nome "administrador" vem do mundo do Windows. No mundo Unix, "administrador do sistema" é uma descrição do trabalho, mas "administrador" não significa nada de especial em relação às contas.

Ao contrário do Windows, as contas Unix não possuem intrinsecamente uma noção de privilégio. Os privilégios em uma conta são conferidos pelos arquivos que eles podem acessar, pelos comandos setuid que podem executar, pelas regras sudo que eles podem usar, pelas políticas aplicáveis do SELinux, etc. Estes podem ser conferidos diretamente a um usuário, ou para um grupo ao qual o usuário pertence.

Há uma exceção: a conta cujo ID de usuário é 0 obtém muitas permissões extras (basicamente, a permissão para fazer praticamente tudo). Essa conta é convencionalmente chamada root (seria possível usar outro nome, no que diz respeito ao kernel, já que o kernel não sabe sobre nomes de usuários, mas isso quebraria muitos softwares relacionados à administração).

A conta raiz não se destina a usuários para efetuar login em operação normal. É uma conta do sistema. O administrador só executa comandos como raiz para executar tarefas de configuração do sistema, não para fazer outro trabalho. O administrador pode efetuar login como root algumas vezes para realizar instalações ou reparos do sistema, mas não usaria a conta root para tarefas não relacionadas ao sistema, como navegação na web e e-mail, eles usariam sua conta pessoal para isso.

Informally speaking, uma conta de administrador é a conta de um usuário que pode executar comandos como root. Muitas vezes isso é feito através do sudo , um programa que permite que os usuários executem comandos como outros usuários (incluindo o root) se estiverem autorizados para fazer isso pela configuração do sudo.

Os privilégios estão associados a um processo e são herdados por seus processos filhos. Quando você executa um processo com privilégios elevados (por exemplo, por meio de su ou sudo ), apenas esse processo e os processos iniciados têm privilégios elevados. O restante da sessão não é afetado.

    
por 28.09.2014 / 03:29
0

Vou postar minha própria resposta para que os outros não gastem mais tempo.

"Administrador" não é um nome reservado e não tem privilégios adicionais associados a ele.

Os efeitos do comando SU estão limitados à atividade dentro daquela sessão de terminal.

O mecanismo para adquirir privilégios de administrador não envolve a herança de privilégios adicionais para o usuário, você se torna outro usuário com privilégios de administrador. O comando whoami mostra se o sistema vê você como "username" ou root.

    
por 27.09.2014 / 18:58