it-swarm.com.de

So ändern Sie den Besitzer des Einhängepunkts

Wir haben das MySQL-Datenverzeichnis auf eine andere Festplatte verschoben, also jetzt /var/lib/mysql ist nur ein Mountpunkt für eine andere Partition. Wir setzen den Besitzer des /var/lib/mysql Verzeichnis zu mysql.mysql.

Aber jedes Mal, wenn wir die Partition mounten, ändert sich der Besitz auf root.root. Aus diesem Grund konnten wir keine zusätzliche MySQL-Datenbank erstellen.

Unser fstab Eintrag:

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

Wie ändere ich den Besitzer des Mount-Punkts in einen anderen Benutzer als root?

46
Arie K

Sie müssen die Berechtigungen des bereitgestellten Dateisystems ändern, nicht des Bereitstellungspunkts, wenn das Dateisystem nicht bereitgestellt ist. Damit mount /var/lib/mysql dann chown mysql.mysql /var/lib/mysql. Dadurch werden die Berechtigungen des Stammverzeichnisses des MySQL DB-Dateisystems geändert.

Die Grundidee ist, dass das Dateisystem, in dem sich die Datenbank befindet, geändert werden muss, nicht der Einhängepunkt, es sei denn, sein Pfad weist einige Probleme auf, z. lib kann nur von root gelesen werden.

43

ebenfalls

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

wenn die Gruppe ebenfalls geändert werden muss

34
user55650

Fügen Sie uid und gid wie folgt hinzu:

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

Sie können tatsächliche Benutzer-/Gruppennamen (Vorsicht vor Leerzeichen) oder numerische UID- und GID-Werte verwenden. Ich habe rw und exec hinzugefügt, um Zugriffsprobleme zu vermeiden (vorausgesetzt, Sie befinden sich auf einem Entwicklungssystem und nicht auf einem Produktionsserver).

PS: Für noch mehr Zugriff (falls gewünscht) fügen Sie ", dir_mode = 0777, file_mode = 0777" hinzu.

11
Frank Nocke

Stellen Sie sicher, dass Sie die Berechtigungen ändern, wenn das Dateisystem nicht gemountet ist. Dies während des Mountens zu tun, hat bei mir nie funktioniert.

Zusätzlich können Sie Ihrer fstab die Option 'user' hinzufügen, Beispiel:

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

Dies sollte auch bedeuten, dass der Befehl mount (falls er aufgerufen werden muss) keine Root-Berechtigungen zum Mounten dieses Volumes benötigt. Wenn Sie Ihre fstab nicht ändern, können Sie Ihr Problem jedoch nicht beheben!

4
Tom Werner

Normalerweise mache ich das in einem leeren, nicht gemounteten Verzeichnis

chmod 777 <directory>

Dann mach

chown -R mysql.mysql <directory>

Dann in/etc/fstab tun

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

Dann benutze

mount -a

um alle in/etc/fstab aufgelisteten Dateisysteme zu mounten.

Das funktioniert bei mir. Versuche es

2

Wenn Sie dies nur als Teil der Befehlszeile mount tun möchten, können Sie den Schalter -o Verwenden und Folgendes tun:

mount device mount-point -o uid=foo

Dadurch wird der Eigentümer des Mount-Punkts in Benutzer foo anstelle von root geändert.

2
Nasko