Obtendo Privilégios
Os administradores do sistema e, em alguns casos, os usuários, precisam realizar certas tarefas com acesso administrativo. Acessar o sistema como usuário root
é potencialmente perigoso e pode causar danos generalizados ao sistema e aos dados. Este capítulo cobre maneiras de obter privilégios administrativos usando programas setuid como su e sudo. Esses programas permitem que usuários específicos realizem tarefas que normalmente estariam disponíveis apenas para o usuário root
, mantendo um alto nível de controle e segurança do sistema.
Veja o Red Hat Enterprise Linux 7Guia de segurança para obter mais informações sobre controles administrativos, perigos potenciais e maneiras de evitar a perda de dados resultante do uso impróprio de acesso privilegiado.
O Comando su
Quando um usuário executa o comando su, é solicitada a senha root
e, após a autenticação, é fornecido um prompt de shell` root`.
Uma vez logado usando o comando su, o usuário é o usuário root
e tem acesso administrativo absoluto ao sistema. Observe que este acesso ainda está sujeito às restrições impostas pelo SELinux, caso esteja habilitado. Além disso, depois que um usuário se torna root
, é possível para ele usar o comando su para mudar para qualquer outro usuário no sistema sem ser solicitado a inserir uma senha.
Como esse programa é tão poderoso, os administradores de uma organização podem querer limitar quem tem acesso ao comando.
Uma das maneiras mais simples de fazer isso é adicionar usuários ao grupo administrativo especial denominado wheel. Para fazer isso, digite o seguinte comando como root
:
~]# usermod -a -G wheel username
No comando anterior, substitua username pelo nome de usuário que você deseja adicionar ao grupo wheel
.
Você também pode usar a ferramenta de configurações do Usuários para modificar as associações de grupo, como segue. Observe que você precisa de privilégios de administrador para executar este procedimento.
-
Pressione a tecla Super para entrar na Visão geral das atividades, digite Users e pressione Enter. A ferramenta de configurações do Usuários é exibida. A tecla Super aparece em uma variedade de formas, dependendo do teclado e de outro hardware, mas geralmente como a tecla Windows ou Command e, normalmente, à esquerda de barra de espaço.
-
Para habilitar a realização de alterações, clique no botão Desbloquear e insira uma senha de administrador válida.
-
Clique em um ícone de usuário na coluna esquerda para exibir as propriedades do usuário no painel direito.
-
Altere o tipo de conta de
Padrão
para` Administrador`. Isso adicionará o usuário ao grupowheel
.
Consulte Gerenciando usuários em um ambiente gráfico para obter mais informações sobre a ferramenta Usuários.
Depois de adicionar os usuários desejados ao grupo wheel
, é aconselhável permitir que apenas esses usuários específicos usem o comando su. Para fazer isso, edite o arquivo de configuração do PAM para su, /etc/pam.d/su
. Abra este arquivo em um editor de texto e descomente a seguinte linha removendo o caractere #
:
#auth required pam_wheel.so use_uid
This change means that only members of the administrative group wheel
can switch to another user using the su command.
Nota
The |
The sudo Command
The sudo command offers another approach to giving users administrative access. When trusted users precede an administrative command with sudo, they are prompted for their own password. Then, when they have been authenticated and assuming that the command is permitted, the administrative command is executed as if they were the root
user.
The basic format of the sudo command is as follows:
sudo command
In the above example, command would be replaced by a command normally reserved for the root
user, such as mount.
The sudo command allows for a high degree of flexibility. For instance, only users listed in the /etc/sudoers
configuration file are allowed to use the sudo command and the command is executed in the user’s shell, not a root
shell. This means the root
shell can be completely disabled as shown in the Red Hat Enterprise Linux 7 Security Guide.
Each successful authentication using the sudo command is logged to the file /var/log/messages
and the command issued along with the issuer’s user name is logged to the file /var/log/secure
. If additional logging is required, use the pam_tty_audit
module to enable TTY auditing for specified users by adding the following line to your /etc/pam.d/system-auth
file:
session required pam_tty_audit.so disable=pattern enable=pattern
where pattern represents a comma-separated listing of users with an optional use of globs. For example, the following configuration will enable TTY auditing for the root
user and disable it for all other users:
session required pam_tty_audit.so disable=* enable=root
Another advantage of the sudo command is that an administrator can allow different users access to specific commands based on their needs.
Administrators wanting to edit the sudo configuration file, /etc/sudoers
, should use the visudo command.
To give someone full administrative privileges, type visudo and add a line similar to the following in the user privilege specification section:
juan ALL=(ALL) ALL
This example states that the user, juan
, can use sudo from any host and execute any command.
The example below illustrates the granularity possible when configuring sudo:
%users localhost=/sbin/shutdown -h now
This example states that any member of the users
system group can issue the command /sbin/shutdown -h now as long as it is issued from the console.
The man page for sudoers
has a detailed listing of options for this file.
Important
There are several potential risks to keep in mind when using the sudo command. You can avoid them by editing the
|
Recursos adicionais
While programs allowing users to gain administrative privileges are a potential security risk, security itself is beyond the scope of this particular book. You should therefore refer to the resources listed below for more information regarding security and privileged access.
-
su
(1) — The manual page for su provides information regarding the options available with this command. -
sudo
(8) — The manual page for sudo includes a detailed description of this command and lists options available for customizing its behavior. -
pam
(8) — The manual page describing the use of Pluggable Authentication Modules (PAM) for Linux.
-
The Red Hat Enterprise Linux 7 Security Guide provides a more in-depth look at potential security issues pertaining to setuid programs as well as techniques used to alleviate these risks.
-
Managing Users and Groups documents how to manage system users and groups in the graphical user interface and on the command line.
Want to help? Learn how to contribute to Fedora Docs ›