Para minha pesquisa, estou usando uma máquina virtual sempre ativa para a análise primária dos meus dados. Ao fazer isso, preciso (ou, suponho, gostaria) de criar e armazenar os dados em um banco de dados PostgreSQL. A VM está executando o CentOS 7 e meu login (vamos chamá-lo de ' username
') tem acesso root. O problema:
Os dados devem ser armazenados em armazenamento compartilhado montado no local /shared/username/data
. Eu (' username
') sou o proprietário do /shared/username/
diretório e de todos os subdiretórios e (por razões de segurança?) parece que isso não pode ser alterado via chown
ou sudo chown
. Isso significa que não posso iniciar o banco de dados como postgres
usuário, pois ele precisa de propriedade do arquivo /shared/username/data
. Veja abaixo.
Logado 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
Sou novo no PostgreSQL, mas já uso várias formas de Linux há algum tempo. Embora as permissões de arquivo às vezes me confundam.
Existe uma solução possível para este problema? Talvez de alguma forma evite que o initdb revogue permissões de acesso para username
? Qualquer ajuda será apreciada e ficarei feliz em fornecer qualquer informação adicional.