私の研究では、データの主な分析に常時稼働の仮想マシンを使用しています。これを行うには、PostgreSQL データベースにデータを作成して保存する必要があります (または、そうしたいと思っています)。VM は CentOS 7 を実行しており、私のログイン (「 」と呼びますusername
) にはルート アクセスがあります。問題は次のとおりです。
データは、マウントされた共有ストレージの場所 に保存する必要があります/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
? どのような助言でも大歓迎です。追加情報も喜んで提供いたします。