<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>权限 on 老张开工了</title>
    <link>/%E6%9D%83%E9%99%90/</link>
    <description>Recent content in 权限 on 老张开工了</description>
    <generator>Hugo</generator>
    <language>zh-cn</language>
    <lastBuildDate>Thu, 27 Feb 2025 10:00:00 +0800</lastBuildDate>
    <atom:link href="/%E6%9D%83%E9%99%90/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>用户与权限管理</title>
      <link>/posts/2025/02/user-and-permission/</link>
      <pubDate>Thu, 27 Feb 2025 10:00:00 +0800</pubDate>
      <guid>/posts/2025/02/user-and-permission/</guid>
      <description>数据库安全的第一道防线是完善的用户和权限管理体系。PostgreSQL 提供了精细的权限控制模型，从数据库级别到列级别都能控制。&#xA;用户/角色管理 PostgreSQL 中用户和角色概念相通——区别在于用户默认有 LOGIN 权限，角色没有。&#xA;-- 创建用户 CREATE USER alice WITH PASSWORD &amp;#39;alice123&amp;#39;; -- 等价于 CREATE ROLE alice WITH LOGIN PASSWORD &amp;#39;alice123&amp;#39;; -- 创建角色（不用于登录，用于权限分组） CREATE ROLE sales_team; CREATE ROLE dev_team; CREATE USER bob WITH PASSWORD &amp;#39;bob456&amp;#39;; CREATE USER charlie WITH PASSWORD &amp;#39;charlie789&amp;#39;; 修改用户 -- 修改密码 ALTER USER alice WITH PASSWORD &amp;#39;newpassword&amp;#39;; -- 修改属性 ALTER USER alice WITH SUPERUSER; -- 设为超级用户 ALTER USER alice WITH NOSUPERUSER; -- 取消超级用户 ALTER USER alice WITH CREATEDB; -- 允许创建数据库 ALTER USER alice WITH CREATEROLE; -- 允许创建角色 -- 禁用用户 ALTER USER alice WITH NOLOGIN; -- 重命名 ALTER USER alice RENAME TO alice_new; 删除用户 -- 删除前确认没有依赖的数据库对象 REASSIGN OWNED BY alice TO postgres; -- 转移对象所有权 DROP OWNED BY alice; -- 删除用户所有的对象 DROP USER alice; 角色继承 角色的核心价值在于层级管理——把权限授予角色，然后把角色授予用户：</description>
    </item>
  </channel>
</rss>
