sviluppo-web-qa.it

Come cambiare il proprietario del punto di montaggio

Abbiamo spostato la directory dei dati mysql su un altro disco, quindi ora /var/lib/mysql è solo un punto di montaggio su un'altra partizione. Abbiamo impostato il proprietario del /var/lib/mysql directory su mysql.mysql.

Ma ogni volta che montiamo la partizione, la proprietà cambia in root.root. Per questo motivo, non siamo riusciti a creare un database MySQL aggiuntivo.

La nostra voce fstab:

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

Come modificare il proprietario del punto di montaggio in un utente diverso da root?

46
Arie K

È necessario modificare le autorizzazioni del filesystem montato, non del punto di montaggio quando il filesystem non è montato. Così mount /var/lib/mysql poi chown mysql.mysql /var/lib/mysql. Ciò modificherà le autorizzazioni della radice del filesystem DB MySQL.

L'idea di base è che il filesystem che contiene il DB deve essere modificato, non il mount point, a meno che il suo percorso non abbia alcuni problemi, ad es. lib può essere letto solo da root.

43
Cristian Ciupitu

anche

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

se anche il gruppo deve essere cambiato

34
user55650

Aggiungi uid e gid come questi:

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

È possibile utilizzare i nomi utente/gruppo effettivi (attenzione agli spazi) o i valori numerici uid, gid. Ho aggiunto rw ed exec che potrebbero aiutarti ulteriormente a prevenire problemi di accesso (presumendo che tu sia su un sistema di sviluppo, non su un server di produzione).

PS: per un accesso ancora maggiore (se lo si desidera), aggiungere ", dir_mode = 0777, file_mode = 0777"

11
Frank Nocke

Assicurati di cambiare i permessi quando il filesystem non è montato - farlo mentre montato non ha mai funzionato per me.

Inoltre, puoi aggiungere l'opzione 'user' al tuo fstab, ad esempio:

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

Ciò dovrebbe anche significare che il comando mount (se deve essere chiamato) non avrà bisogno dei privilegi di root per montare quel volume. Non cambiare il tuo fstab non ti impedirà di risolvere il problema!

4
Tom Werner

Di solito lo faccio su una directory vuota non montata

chmod 777 <directory>

Quindi fa

chown -R mysql.mysql <directory>

Quindi in/etc/fstab do

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

Quindi utilizzare

mount -a

per montare tutti i filesystem elencati in/etc/fstab.

Questo funziona per me. Provaci

2

Se vuoi farlo solo come parte della riga di comando mount, puoi usare -o cambia e fai:

mount device mount-point -o uid=foo

Ciò cambierà il proprietario del punto di montaggio in utente foo anziché in root.

2
Nasko