运维 pgsql 安装完后某次启动不了

发布于:2025-06-01 ⋅ 阅读:(28) ⋅ 点赞:(0)

pgsql 安装完后某次启动不了


错误 data directory "/usr/local/postgresql/data" has invalid permissions

安装成功后一直可以 后面同事敲了  

 chmod -R  777  /usr/local 导致不行

改到了  /usr/local/postgresql/data 权限

/usr/local/postgresql/data的权限有限制才可以

重新  chmod 0750 /usr/local/postgresql/data

后 

systemctl restart postgres 可以启动

不要随便 chmod  -R  777 太大的目录不然会导致很大的事故

chmod 777和 chmod 0777的区别 ai回答

在 Linux 文件系统中,0777 和 777 都表示文件或目录的权限设置,但它们的细微区别在于‌权限表示法的完整性和对特殊权限位的处理‌。以下是详细解释:


1. ‌权限的基本组成

Linux 文件权限由三部分组成:

  • 所有者权限‌(Owner)
  • 所属组权限‌(Group)
  • 其他用户权限‌(Others)

每种权限可以通过 r(读)、w(写)、x(执行)表示,也可以用 ‌八进制数字‌(0-7)表示:

  • 4 = 读(r)
  • 2 = 写(w)
  • 1 = 执行(x)
  • 将这些数值相加得到权限值(如 7 = 4+2+1 表示 rwx)。

2. ‌777 的含义

  • 777 是三位八进制数,分别对应:
    • 所有者权限‌:7 → rwx
    • 组权限‌:7 → rwx
    • 其他用户权限‌:7 → rwx
  • 此时 ‌未显式设置特殊权限位‌(如 SetUID、SetGID、Sticky Bit)。
  • 在实际使用中(如 chmod 777 file),系统会默认特殊权限位保持不变(如果已存在),或自动补零。

3. ‌0777 的含义

  • 0777 是四位八进制数,其中:
    • 第一位 0‌:表示特殊权限位(SetUID、SetGID、Sticky Bit)被显式设置为 0(即关闭)。
    • 后三位 777‌:与三位表示法一致,赋予所有者、组、其他用户全部权限。
  • 使用 chmod 0777 file 时,会‌强制清除所有特殊权限‌。

4. ‌关键区别

权限表示 特殊权限位处理 适用场景
777 不修改特殊权限位 仅修改基础权限,保留原有的特殊权限。
0777 清除所有特殊权限位 明确关闭特殊权限,仅设置基础权限。

5. ‌示例

假设一个文件原有特殊权限 SetUID(表现为 rwsr-xr-x):


bashCopy Code

原始权限:4755

  • 使用 chmod 777 file‌:

    • 基础权限变为 777rwxrwxrwx)。
    • 特殊权限位保留‌(SetUID 仍然有效),最终权限为 4777 → rwsrwxrwx
  • 使用 chmod 0777 file‌:

    • 基础权限变为 777rwxrwxrwx)。
    • 特殊权限位被清除‌(SetUID 被移除),最终权限为 0777 → rwxrwxrwx

6. ‌注意事项

  • 权限安全‌:777 或 0777 会开放所有权限,可能导致安全风险,需谨慎使用。
  • 特殊权限位‌:如果文件需要保留 SetUID/SetGID/Sticky Bit(如 /tmp 目录需要 Sticky Bit),应避免使用 0777

总结

  • 777‌:仅修改基础权限,不影响特殊权限位。
  • 0777‌:清除特殊权限位后再设置基础权限为全开放。

网站公告

今日签到

点亮在社区的每一天
去签到