Für meine Forschung verwende ich eine ständig aktive virtuelle Maschine für die primäre Analyse meiner Daten. Dabei muss ich (oder möchte ich zumindest) die Daten in einer PostgreSQL-Datenbank erstellen und speichern. Die VM läuft unter CentOS 7 und mein Login (wir nennen es ' username
') hat Root-Zugriff. Das Problem:
Die Daten müssen auf einem bereitgestellten gemeinsamen Speicher am Standort gespeichert werden /shared/username/data
. Ich (' username
') bin der Eigentümer des /shared/username/
Verzeichnisses und aller Unterverzeichnisse, und (aus Sicherheitsgründen?) kann dies anscheinend nicht über chown
oder geändert werden sudo chown
. Dies bedeutet, dass ich die Datenbank nicht als postgres
Benutzer initiieren kann, da sie Eigentümer des Verzeichnisses sein muss /shared/username/data
. Siehe unten.
Angemeldet als postgres
:
bash-4.2$ /usr/pgsql-9.4/bin/initdb -D /shared/username/data
could not change directory to "/shared/username": Permission denied
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
initdb: could not access directory "/shared/username/data": Permission denied
Ich bin neu bei PostgreSQL, verwende aber schon seit einiger Zeit verschiedene Linux-Versionen. Allerdings verwirren mich die Dateiberechtigungen manchmal.
Gibt es eine mögliche Lösung für dieses Problem? Vielleicht kann man initdb irgendwie daran hindern, die Zugriffsberechtigungen für zu widerrufen username
? Ich bin für jede Hilfe dankbar und gebe gerne weitere Informationen.