Есть ли способ ограничить определенные пользователи в ubuntu 16.04 MySQL?

Есть несколько дополнительных вещей, которые следует учитывать помимо производительности при перемещении каталогов на корневом уровне для отдельных монтировок.

Один из них заключается в том, что некоторые каталоги должны присутствовать на ранних этапах процесса загрузки, прежде чем монтировать какие-либо разделы. Я имею в виду, что перемещение /boot, очевидно, нарушит ситуацию, если вы не позаботитесь изменить загрузчика, указав ему новое местоположение каталога.

Аналогично, команда mount находится в /bin, fstab находится в /etc, а самый первый процесс, вызванный загрузчиком, называется init, находится в /sbin , Кроме того, я понимаю, что некоторые двоичные файлы в /sbin могут использовать библиотеки из /lib.

Я не говорю, что абсолютно невозможно иметь эти каталоги где-то в другом месте - Linux невероятно гибкая, но это

Я понимаю, что /opt, /usr и /var можно перемещать без особых проблем, но я ожидал бы, что перемещение /usr на медленный привод значительно замедлит работу, поскольку в нем содержатся все программы GUI, которые вы используете все время. По крайней мере, программы начнутся гораздо медленнее.

Еще одно соображение - сколько дискового пространства вы собираетесь получить, перемещая каталоги на другой диск ... /bin составляет около 9 мегабайт и на моей машине 25 МБ - определенно не стоит проблем. /usr является самым большим, поэтому, если что-либо, я просто переместил бы /usr и оставил остальные на корневом разделе.

2
задан 8 March 2018 в 10:19

3 ответа

С системой разрешений Linux это очень хорошо. Посмотрите на текущие разрешения исполняемого файла mysql:

~$ ls -l /usr/bin/mysql
-rwxr-xr-x 1 root root 4243880 jan 19 13:45 /usr/bin/mysql

Существует три группы разрешений:

rwx (владелец root может читать, записывать и выполнять файл); r-x (другие в группе root могут читать и выполнять файл); r-x (все остальные могут также читать и выполнять файл).

Мы уберем последние разрешения и разрешим только группе пользователей выполнить команду.

Сначала создайте новую группу 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 был изменен на -.

На этом этапе, если вы попытались войти в команду mysql, это даст вам: access denied. Это потому, что вы не являетесь членом группы mysqlusers. Добавьте себя и других пользователей в эту группу:

sudo groupadd -a -G mysqlusers [username]

Для этого последнего изменения вам нужно будет выйти из системы и вернуться.

1
ответ дан 22 May 2018 в 12:42
  • 1
    Спасибо, я никого не пробовал: nogroup и chmod 600 из учетной записи администратора, так что пользователь, не являющийся mysql, не может получить к нему доступ, но этот процесс потребовал, чтобы я был включен в root под учетной записью администратора для доступа к mysql. – level-999999 8 March 2018 в 13:37

С системой разрешений Linux это очень хорошо. Посмотрите на текущие разрешения исполняемого файла mysql:

~$ ls -l /usr/bin/mysql -rwxr-xr-x 1 root root 4243880 jan 19 13:45 /usr/bin/mysql

Существует три группы разрешений:

rwx (владелец root может читать, записывать и выполнять файл); r-x (другие в группе root могут читать и выполнять файл); r-x (все остальные могут также читать и выполнять файл).

Мы уберем последние разрешения и разрешим только группе пользователей выполнить команду.

Сначала создайте новую группу 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 был изменен на -.

На этом этапе, если вы попытались войти в команду mysql, это даст вам: access denied. Это потому, что вы не являетесь членом группы mysqlusers. Добавьте себя и других пользователей в эту группу:

sudo groupadd -a -G mysqlusers [username]

Для этого последнего изменения вам нужно будет выйти из системы и вернуться.

1
ответ дан 17 July 2018 в 19:18

С системой разрешений Linux это очень хорошо. Посмотрите на текущие разрешения исполняемого файла mysql:

~$ ls -l /usr/bin/mysql -rwxr-xr-x 1 root root 4243880 jan 19 13:45 /usr/bin/mysql

Существует три группы разрешений:

rwx (владелец root может читать, записывать и выполнять файл); r-x (другие в группе root могут читать и выполнять файл); r-x (все остальные могут также читать и выполнять файл).

Мы уберем последние разрешения и разрешим только группе пользователей выполнить команду.

Сначала создайте новую группу 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 был изменен на -.

На этом этапе, если вы попытались войти в команду mysql, это даст вам: access denied. Это потому, что вы не являетесь членом группы mysqlusers. Добавьте себя и других пользователей в эту группу:

sudo groupadd -a -G mysqlusers [username]

Для этого последнего изменения вам нужно будет выйти из системы и вернуться.

1
ответ дан 23 July 2018 в 20:03

Другие вопросы по тегам:

Похожие вопросы: