マウントポイントの所有者を変更する方法


44

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以外のユーザーに変更する方法は?

回答:


43

ファイルシステムがマウントされていないときは、マウントポイントの権限ではなく、マウントされたファイルシステムの権限を変更する必要があります。だから、mount /var/lib/mysqlそれからchown mysql.mysql /var/lib/mysql。これにより、MySQL DBファイルシステムのルートの権限が変更されます。

基本的な考え方は、DBを保持しているファイルシステムを変更する必要があり、マウントポイントではなく、そのパスに問題がある場合を除きます(たとえばlib、rootのみが読み取れる)。


32

また

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

グループも変更する必要がある場合


2
uid fooは、マウントポイントの所有者にしたいユーザーの名前です。また、gid fooはユーザーグループの名前であり、通常はユーザー名と同じです。疑わしい場合ls -lは、ホームディレクトリに入力して、最初と2番目の名前をそれぞれ確認してください。
ゼケズ

10

これらのような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」を追加します


3
いいえ、そうrelatimeです。 lwn.net/Articles/244829
endolith

7
-1 uidgidフラグは、Linuxパーミッションスキーマをサポートしていないファイルシステム(FATやNTFSなど)でのみ機能するためです。参照してくださいaskubuntu.com/a/34068/329506
mgarciaisaia

2
ええ、私はuid / gidの問題に遭遇しました-解決策はありますか?
-tofutim

これは、FAT32ドライブで役立ちました。ありがとうございました。
ニームカーン

3

ファイルシステムがマウントされていないときにパーミッションを変更するようにしてください-マウントされた状態でそれを行うことは私にとってはうまくいきませんでした。

さらに、「ユーザー」オプションをfstabに追加できます。例:

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

これは、mountコマンド(呼び出す必要がある場合)がそのボリュームをマウントするためにroot権限を必要としないことも意味するはずです。fstabを変更しなくても、問題の修正は停止しません!


2

私は通常、空のアンマウントされたディレクトリでこれを行います

chmod 777 <directory>

それから

chown -R mysql.mysql <directory>

次に/ etc / fstabでdo

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

次に使用する

mount -a

/ etc / fstabにリストされているすべてのファイルシステムをマウントします。

これは私のために動作します。試してみる


2

mountコマンドラインの一部としてのみ実行する場合は、-oスイッチを使用して次の操作を実行できます。

mount device mount-point -o uid=foo

これにより、マウントポイントの所有者fooがルートではなくユーザーに変更されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.