В случае, что учетная запись (записи) администратора смогла бы выполнить mysql команду (команды) в терминале и определенной учетной записи (записях) пользователя, не будет.
С системой Linux полномочий это очень хорошо возможно. Посмотрите на текущие полномочия mysql
исполняемый файл:
~$ ls -l /usr/bin/mysql
-rwxr-xr-x 1 root root 4243880 jan 19 13:45 /usr/bin/mysql
Существует три группы полномочий:
root
может читать, записать и выполнить файл);root
может считать и выполнить файл);Мы уберем последние полномочия и позволим только группе пользователей выполнять команду.
Во-первых, создайте новую группу mysqlusers
:
sudo groupadd mysqlusers
Затем переместитесь mysql
исполняемый файл той группе:
sudo chgrp mysqlusers /usr/bin/mysql
Проверьте, чтобы видеть, что это работало:
~$ ls -l /usr/bin/mysql -rwxr-xr-x 1 root mysqlusers 4243880 jan 19 13:45 /usr/bin/mysql
Теперь уберите полномочия выполнения для всех "других" (non-mysql) пользователей:
sudo chmod o-x /usr/bin/mysql
Можно выйти ls -l
управляйте еще раз, чтобы проверить что финал x
был изменен на a -
.
На данном этапе, если бы Вы пытались ввести команду mysql, то она дала бы Вам:в доступе отказано. это вызвано тем, что Вы не член группы mysqlusers
. Добавьте себя и других пользователей той группе:
sudo groupadd -a -G mysqlusers [username]
Необходимо будет выйти из системы и въехать задним ходом для этого последнего изменения в работе.