Este é um caso de uso comum para sudo
, que permite executar comandos (dependendo da configuração até mesmo um shell) como qualquer usuário que o administrador do sistema concedeu a você (não apenas root
, como a maioria dos novatos pensar).
Dependendo da sua configuração de sudo
, você poderá fazer apenas
$ sudo -s -u mysql
como sua conta de usuário »normal«. Você pode verificar quais usuários você pode se tornar emitindo
$ sudo -l
Isso pode parecer com o seguinte (minha instalação local e meu usuário »normal«):
$ sudo -l
Matching Defaults entries for aw on swiftsure:
env_keep+=HOME, env_keep+=XDG_SESSION_COOKIE, env_keep+="XMODIFIERS GTK_IM_MODULE QT_IM_MODULE QT_IM_SWITCHER", insults, tty_tickets, editor=/usr/bin/vim, !lecture
Runas and Command-specific defaults for aw:
Defaults>root targetpw, env_file=/etc/sudo/root.env
User aw may run the following commands on swiftsure:
(ALL) ALL
(ALL) NOPASSWD: /usr/bin/htop, /usr/sbin/iotop, /usr/sbin/powertop
(ALL) NOPASSWD: /usr/bin/wpa_cli
$
As últimas linhas são as mais importantes. Neste exemplo, ele informa que o usuário aw
pode executar todos os comandos ( ALL
) como cada usuário ( (ALL)
) e htop
, iotop
, powertop
e wpa_cli
como todos os usuários ( (ALL)
) sem precisar dar uma senha ( NOPASSWD
).
Se o usuário tiver uma entrada (ALL) ALL
, você está bem e só pode emitir o comando acima para se tornar o usuário mysql
. Caso contrário, talvez você queira editar o arquivo /etc/sudoers
( visudo
) e adicionar uma linha contendo
username (ALL)=ALL
que permitiria que você se tornasse todo usuário (depois de digitar a senha de username
) ou algo como
username (mysql)=ALL
que só permitiria que você se tornasse o usuário mysql
.