Для своего исследования я использую постоянно включенную виртуальную машину для первичного анализа моих данных. При этом мне нужно (или, как я предполагаю, хотелось бы) создавать и хранить данные в базе данных PostgreSQL. Виртуальная машина работает под управлением CentOS 7, и мой логин (назовем его ' username
') имеет права root. Проблема:
Данные должны храниться в смонтированном общем хранилище в расположении /shared/username/data
. Я (' username
') являюсь владельцем каталога /shared/username/
и всех подкаталогов, и (из соображений безопасности?) похоже, что это нельзя изменить с помощью chown
или sudo chown
. Это означает, что я не могу инициировать базу данных как postgres
пользователь, так как для этого необходимо владение /shared/username/data
. См. ниже.
Вы вошли как 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
Я новичок в PostgreSQL, но некоторое время использовал различные формы Linux. Хотя права доступа к файлам иногда меня смущают.
Есть ли возможное решение этой проблемы? Возможно, как-то помешать initdb отозвать разрешения на доступ для username
? Любая помощь приветствуется, и я с радостью предоставлю любую дополнительную информацию.