为了给 postgres 提供更多空间,我在 /mnt/fast_data/ 安装了一个 ssd
我想要实现的是将 postgres 用户所有权授予 postgresql 目录,这样它就不会说权限被拒绝。
$ sudo chown -R root:root /mnt/fast_data/
$ sudo chown -R postgres:postgres /mnt/fast_data/postgresql/
当我测试时:
su postgres
postgres@my_machine: cd /mnt/fast_data/postgresql
我收到错误=>>
bash: cd: /mnt/fast_data/postgresql: Permission denied
当我授予整个新驱动器的所有权时,它确实有效chown -R postgres:postgres /mnt/fast_data
。但肯定有一种方法可以只授予对子目录的访问权限。postgres 拥有所有权,var/lib/postgres
即使var/lib
由 root 拥有。我是否遗漏了有关附加驱动器的某些信息?
额外要求的信息:
$ sudo ls -ld /mnt/fast_data /mnt/fast_data/postgresql
drwxrwx--- 3 main_user main_user 4096 Jul 22 00:18 /mnt/fast_data
drwxr-xr-x 6 postgres postgres 4096 Jul 18 22:07 /mnt/fast_data/postgresql
$ mount | grep /mnt/fast_data
/dev/nvme0n1 on /mnt/fast_data type ext4 (rw,nosuid,nodev,relatime,x-gvfs-show)
答案1
该目录的权限/mnt/fast_data
为drwxrwx---
,这意味着用户main_user
和组main_user
具有完全访问权限(读、写、访问),但其他所有人都没有任何权限。
您需要chmod o+rx /mnt/fast_data
使其权限变成drwxrwxr-x
,授予其他人查看其内容和访问它的权限。