用户角色与权限管理
账号给错一级,等于把后台交出去
WordPress 内置五个角色,从管理员到订阅者,权限逐级递减。绝大多数事故不是被黑客攻破,而是把管理员账号给了外包、给了离职员工、给了”只改两张图”的美工。这篇把五个角色的能力边界、常见岗位该给什么角色、以及对外的账号交接流程讲清楚,附一张能直接对着用的权限矩阵。
五个内置角色
从能拆站到只能看
角色(Role)是一组能力(Capability)的集合。WordPress 不按”职位”授权,按能力授权,理解这一点才不会到处找”产品经理”这种角色。
管理员 Administrator
全部权限:改代码、装插件、换主题、删用户、改数据库设置。单站点通常只留一到两个。多站点网络的超级管理员权限更大,能管所有子站。
编辑 Editor
能写、能发、能改所有人的文章和页面,能管分类与评论,但不能碰插件、主题、用户。内容团队负责人用这个角色最合适。
作者 Author
能写能发自己的文章,能上传文件,不能改别人的。适合独立负责栏目的编辑或长期供稿人。
投稿者 Contributor
能写草稿并提交待审,不能发布,不能上传文件。适合外部撰稿、实习生、需要审核的兼职内容。
订阅者 Subscriber
只能管理自己的个人资料。纯会员站或需要登录才能看报价的场景会用到,普通企业站一般不需要。
没有”客服”角色
WooCommerce 会额外注册「商店经理」和「客户」两个角色。商店经理能管订单与商品,不能改主题。有商城的站别忘了这两个。
权限矩阵
对着这张表授权,不会错
下表为默认行为,装了权限管理插件后可能被改写。给账号前先确认当前站的实际配置。
| 能力 | 管理员 | 编辑 | 作者 | 投稿者 | 订阅者 |
|---|---|---|---|---|---|
| 撰写文章 | 可 | 可 | 可 | 可 | 不可 |
| 直接发布 | 可 | 可 | 可 | 需审核 | 不可 |
| 修改他人文章 | 可 | 可 | 不可 | 不可 | 不可 |
| 上传媒体文件 | 可 | 可 | 可 | 不可 | 不可 |
| 管理分类与标签 | 可 | 可 | 不可 | 不可 | 不可 |
| 审核评论 | 可 | 可 | 不可 | 不可 | 不可 |
| 安装 / 删除插件 | 可 | 不可 | 不可 | 不可 | 不可 |
| 切换主题 / 改菜单 | 可 | 不可 | 不可 | 不可 | 不可 |
| 新增 / 删除用户 | 可 | 不可 | 不可 | 不可 | 不可 |
| 编辑主题文件 | 可 | 不可 | 不可 | 不可 | 不可 |
注意「编辑主题文件」这一项:管理员默认能进「外观 → 主题文件编辑器」直接改 PHP,一个分号写错整站白屏。如果你的站还在用这个功能,建议在 wp-config.php 里加 define( ‘DISALLOW_FILE_EDIT’, true ) 全局关掉,需要改代码走 SFTP 或版本管理。
四种常见场景怎么授权
不是给不给,是给到哪一级
客户自己维护内容
给一个管理员做主账号,再给一到两个编辑账号给市场部。约定好谁负责更新插件——如果客户不打算管,就明确写进合同:技术维护由服务商负责,客户不点更新。两方都以为对方在管,是最危险的组合。
外部写手 / 代运营
一律给投稿者,不给作者。作者能直接发布,代运营发错一篇带错价格的稿子,损失比效率大得多。用投稿者加审核流程,还能顺手做一次事实核对。
建站外包 / 技术服务商
开发期可以给管理员,交付时必须收回或降级。更稳的做法是单独开一个账号,交付后停用而不是删除——删除会留下无主内容,停用保留审计线索。账号名不要用 admin、root、test。
SEO / 广告服务商
多数只需要编辑权限加 SEO 插件的访问,不需要管理员。如果对方坚持要管理员才能干活,先问清具体要改什么,八成是插件设置,可以让技术代改,或单独装一个受限账号。
给账号这件事,写进交接单最省心:谁、什么时候、什么角色、什么时候回收。三年以上的站,用户列表里往往躺着十几个已离职人员的管理员账号,这是最常见的安全隐患,排查思路和 WordPress 安全加固 一起做效率更高。
角色存在哪、怎么改
数据库字段与两种改法
数据层:wp_usermeta
用户的角色存在 wp_usermeta 表,meta_key 为 wp_capabilities(多站点是 wp_2_capabilities),meta_value 是序列化数组,形如 a:1:{s:13:”administrator”;b:1;}。表前缀改过的话,前缀跟着变。直接改库前务必先备份。
代码层:add_role / add_cap
用 add_role() 建自定义角色,用 $role->add_cap() 逐项授权。写在子主题 functions.php 里只在激活时执行一次,刷新页面会重复写库。更规范的做法是做成小插件,在 activation hook 里注册。
插件方案:Members / User Role Editor
- Members 界面清爽,适合只改能力不改角色结构
- User Role Editor 支持复制角色、批量改权限
- 两者都能给单个用户额外加能力,不必新建角色
- 改完记得导出配置,换环境时能复用
删用户时先转移内容
- 删除页面会提示「将所有内容归属到」另一个用户
- 务必选一个真实账号,否则文章变成无作者
- 媒体库的文件不会跟着转移,作者信息仍是原用户 ID
- 只是离职不是离职潮,优先「停用」而不是删除
六个账号管理习惯
比装任何安全插件都管用
一人一号
不要共用账号。共用之后,日志里所有操作都是同一个名字,出了问题查不到人,也没法单独收回某个人。
显示名与登录名分开
登录名不要用真实姓名拼音,文章署名用昵称。否则等于把一半登录凭据公开在文章页上。
开二次验证
管理员账号务必开 2FA。WordPress 6.x 支持应用密码(Application Passwords),给对接系统用,别把主密码写进第三方工具。
另外两个细节:登录失败次数限制要和 安全插件 一起配,只装不调等于没装;新同事上手前先看 WordPress 后台入门,知道哪些按钮不该点,比事后追权限更有效。内容发布流程配合 文章与页面编辑 里的待审状态一起用,基本能挡住误发。
角色与权限常见问题
五个真实提问
因为编辑角色没有 edit_theme_options 能力,「外观」整项会被隐藏,连菜单和小工具都进不去。如果确实需要让编辑改菜单,用 Members 单独给这个账号加 edit_theme_options,不建议为此升级成管理员。
原生不支持按文章授权。常见替代方案是给每篇文章设置作者、让对方只做作者角色;或用 Members 之类插件配合内容限制插件按分类授权。需求再细就要定制,成本不低。
不会,文章作者记录的是用户 ID,与角色无关。降级管理员为编辑,文章仍归他名下。只有删除用户时才会要求转移内容归属,这一步不能跳过。
如果角色是写在主题 functions.php 里注册的,换主题就没了;如果写在插件里或用权限插件建的,角色数据存在数据库,不会随主题消失。所以自定义角色建议做成插件。
可以,在 Nginx 层对 /wp-login.php 与 /wp-admin/ 做 allow / deny,或让安全插件接管。但要注意办公网 IP 会变,建议留一个备用入口,避免自己也被锁在外面。