Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę zlecić MySQL zapis plików zewnętrznych jako inny użytkownik?

Plik wyjściowy jest tworzony przez proces mysqld, a nie przez proces klienta. Dlatego plik wyjściowy musi być własnością uid i gid procesu mysqld.

Możesz uniknąć sudo, aby uzyskać dostęp do pliku, jeśli uzyskujesz do niego dostęp z procesu o identyfikatorze uid lub gid, który może uzyskać dostęp do pliku. Innymi słowy, jeśli mysqld tworzy pliki należące do uid i gid "mysql"/"mysql", dodaj własne konto do grupy "mysql". Wtedy powinieneś być w stanie uzyskać dostęp do pliku, pod warunkiem, że tryb uprawnień pliku obejmuje dostęp do grupy.

Edytuj:

Usuwasz plik w katalogu /tmp z trybem uprawnień do katalogu rwxrwxrwt. Przyklejony bit ('t') oznacza, że ​​możesz usuwać pliki tylko wtedy, gdy Twój identyfikator użytkownika jest taki sam jak właściciel pliku, niezależnie od uprawnień do pliku lub katalogu.

Jeśli zapiszesz plik wyjściowy w innym katalogu, który nie ma ustawionego bitu sticky, powinieneś być w stanie normalnie usunąć plik.

Przeczytaj ten fragment ze strony podręcznika programu sticky(8):

PRZYKLEJANE KATALOGI

Katalog z ustawionym `sticky bit' staje się katalogiem tylko do dopisywania, a dokładniej katalogiem, w którym usuwanie plików jest ograniczone. Plik w przyklejonym katalogu może zostać usunięty lub zmieniony przez użytkownika tylko wtedy, gdy ma on uprawnienia do zapisu w katalogu, a użytkownik jest właścicielem pliku, właścicielem katalogu lub superużytkownikiem. Ta funkcja jest użyteczna w przypadku katalogów takich jak /tmp, które muszą być publicznie dostępne do zapisu, ale powinny odmawiać użytkownikom licencji na arbitralne usuwanie lub zmianę nazw plików innych osób.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:jak zapobiec wstawianiu wiersza ze wszystkimi kolumnami =NULL?

  2. Połącz się ze zdalną bazą danych MySQL przez SSH za pomocą Javy

  3. Jak używać Relation::morphMap() dla różnych klas

  4. jak usunąć zduplikowane wiersze z tabeli w mysql

  5. Zabij lub zatrzymaj zapytania MySQL po zamknięciu skryptu PHP