it-swarm-ru.tech

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

Мы переместили каталог данных 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?

46
Arie K

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

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

43
Cristian Ciupitu

также

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

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

34
user55650

Добавьте 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"

11
Frank Nocke

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

Кроме того, вы можете добавить опцию 'user' в ваш fstab, например:

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

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

4
Tom Werner

Я обычно делаю это в пустой размонтированной директории

chmod 777 <directory>

Тогда делай

chown -R mysql.mysql <directory>

Тогда в/etc/fstab сделай

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

Тогда используйте

mount -a

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

Это работает для меня. Попробуй

2
Saurabh Barjatiya

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

mount device mount-point -o uid=foo

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

2
Nasko