Para mi investigación, estoy utilizando una máquina virtual siempre activa para el análisis principal de mis datos. Al hacer esto necesito (o, supongo, me gustaría) crear y almacenar los datos en una base de datos PostgreSQL. La máquina virtual ejecuta CentOS 7 y mi inicio de sesión (lo llamaremos ' username
') tiene acceso de root. El problema:
Los datos deben almacenarse en un almacenamiento compartido montado en la ubicación /shared/username/data
. Yo (' username
') soy el propietario del /shared/username/
directorio y de todos los subdirectorios y (¿por razones de seguridad?) parece que esto no se puede cambiar mediante chown
o sudo chown
. Esto significa que no puedo iniciar la base de datos como postgres
usuario, ya que necesita la propiedad del archivo /shared/username/data
. Vea abajo.
Conectado como 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
Soy nuevo en PostgreSQL, pero he estado usando varias formas de Linux desde hace algún tiempo. Aunque los permisos de archivos a veces me confunden.
¿Existe una posible solución a este problema? ¿Quizás evitar de alguna manera que initdb revoque los permisos de acceso username
? Se agradece cualquier ayuda y estaré encantado de proporcionar cualquier información adicional.