子目录的“chown postgres”不适用于新磁盘

v1z*_*1z3 0 permissions mount users postgresql chown

为了给 postgres 更多空间,我在 /mnt/fast_data/ 安装了一个 SSD

我想要完成的是将 postgres 用户所有权授予 postgresql 目录,因此它不会说权限被拒绝。

$ sudo chown -R root:root /mnt/fast_data/
$ sudo chown -R postgres:postgres /mnt/fast_data/postgresql/
Run Code Online (Sandbox Code Playgroud)

当我测试时:

su postgres

postgres@my_machine:  cd /mnt/fast_data/postgresql
Run Code Online (Sandbox Code Playgroud)

我收到错误=>>

bash: cd: /mnt/fast_data/postgresql: Permission denied
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)
$ mount | grep /mnt/fast_data
/dev/nvme0n1 on /mnt/fast_data type ext4 (rw,nosuid,nodev,relatime,x-gvfs-show)
Run Code Online (Sandbox Code Playgroud)

zwe*_*ets 5

/mnt/fast_data目录的权限为drwxrwx---,这意味着用户main_user和组main_user具有完全访问权限(读、写、访问),但所有其他人根本没有任何权限。

您需要chmod o+rx /mnt/fast_data使其权限变为drwxrwxr-x,授予其他人查看其内容并访问它的权限。