混乱したディレクトリ権限

混乱したディレクトリ権限

環境

  • Ubuntu 14.04 LTSデスクトップ

特権

/media/gal_db$ ls -al
drwxrwx--- 6 admin     shared_disk  4096 Aug 15 13:31 .
drwxr-xr-x 6 root      root         4096 Aug 13 12:54 ..
drwx------ 3 postgres  shared_disk  4096 Aug 15 14:28 database

/media/gal_db$ members shared_disk
gal  admin  postgres

ファイルシステムへのアクセスを制限するには、shared_diskからpostgresを削除します。

sudo deluser postgres shared_disk

ユーザーgalでデータベースにログインしてみてください。

psql -U gal
    Password for user gal:
    psql: FATAL:  could not access directory "pg_tblspc/16399/PG_9.3_201306121/16401": Permission denied

postgresユーザーを共有ディスクに再追加する

sudo adduser postgres shared_disk

galユーザーとしてデータベースに再度ログインしてみてください。

psql -U gal
    Password for user gal:
    psql (9.3.5)
    Type "help" for help.
    gal=>

成功。そしてカオス。

質問

  1. データベースディレクトリにアクセスするには、Postgresがshared_diskのメンバーである必要があるのはなぜですか?
  2. postgresがデータベースディレクトリの所有者であるだけでは十分ではありませんか?

答え1

「admin」ユーザーと「shared_disk」グループのメンバーだけがこの/media/gal_dbディレクトリにアクセスできます。したがって、「shared_disk」グループで「postgres」を選択すると、到着database目次

関連情報