Назад | Перейти на главную страницу

Как изменить владельца точки монтирования

Мы переместили каталог данных mysql на другой диск, поэтому теперь /var/lib/mysql это просто точка монтирования в другой раздел. Мы устанавливаем владельца /var/lib/mysql каталог в mysql.mysql.

Но каждый раз, когда мы монтируем раздел, владелец меняется на root.root. Из-за этого мы не могли создать дополнительную базу данных MySQL.

Наша запись в fstab:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime        0       2

Как изменить владельца точки монтирования на пользователя, отличного от root?

Вам необходимо изменить разрешения смонтированной файловой системы, а не точки монтирования, когда файловая система не смонтирована. Так mount /var/lib/mysql затем chown mysql.mysql /var/lib/mysql. Это изменит права доступа корня файловой системы MySQL DB.

Основная идея заключается в том, что необходимо изменить файловую систему, содержащую БД, а не точку монтирования, если только ее путь не имеет каких-либо проблем, например lib может быть прочитан только root.

также

mount device mount-point -o uid=foo -o gid=foo

если группу тоже нужно сменить

Добавьте uid и gid следующим образом:

/dev/mapper/db-db  /var/lib/mysql ext3  relatime,rw,exec,uid=frank,gid=www-group        0       2

Вы можете использовать фактические имена пользователей / групп (остерегайтесь пробелов) или числовые значения uid, gid. Я добавил rw и exec, которые могут дополнительно помочь вам предотвратить проблемы с доступом (при условии, что вы находитесь в системе разработки, а не на производственном сервере).

PS: Для еще большего доступа (при желании) добавьте ", dir_mode = 0777, file_mode = 0777"

Убедитесь, что вы изменили разрешения, когда файловая система не смонтирована - у меня никогда не получалось делать это во время монтирования.

Кроме того, вы можете добавить параметр «пользователь» в свой fstab, например:

/dev/mapper/db-db   /var/lib/mysql    ext3    relatime,user        0       2

Это также должно означать, что команде монтирования (если ее нужно вызвать) не потребуются права root для монтирования этого тома. Если вы не измените свой fstab, это не помешает вам решить вашу проблему!

Я обычно делаю это в пустом отключенном каталоге

chmod 777 <directory>

Тогда сделай

chown -R mysql.mysql <directory>

Затем в / etc / fstab сделайте

<device>    <directory>  ext3   user,defaults 0 2

Затем используйте

mount -a

для монтирования всех файловых систем, перечисленных в / etc / fstab.

У меня это работает. Попробуйте

Если вы хотите сделать это только как часть mount командную строку, вы можете использовать -o переключиться и сделать:

mount device mount-point -o uid=foo

Это изменит владельца точки монтирования на пользователя foo вместо root.