我想撤销单个管理员的权限,但没有“撤销”按钮。我网站上的其他“工作人员”账户都有这个按钮。
请问这是什么原因以及如何解决?
我想撤销单个管理员的权限,但没有“撤销”按钮。我网站上的其他“工作人员”账户都有这个按钮。
请问这是什么原因以及如何解决?
只是想确认一下,您是否正试图撤销您当前登录账号的管理员权限?
不,这是另一个账号……我把它命名为“新闻机器人”,用于抓取 RSS 源。
我现在想删除那些帖子。
该账户的电子邮件是否在您的 app.yml 文件中作为开发者存在?还是您通过控制台授予了开发者权限?
出于安全原因,在 .yml 构建文件中列为 DEVELOPERS 的用户无法通过 UI 删除:
## TODO: 列出将在初始注册时设为管理员和开发者的逗号分隔的邮箱列表,例如 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'incredible_undeletables@myamazingdomain.com'
您需要从 .yml 构建文件中移除这些用户,然后重新构建。
另一种方法(但不推荐且不受支持,仅为推测)是直接在该用户的数据库 users 表中将其管理员状态(布尔值)更改为 FALSE。注意:我从未这样做过(从未撤销过权限,但曾通过这种方式添加过版主),但直接操作数据库(尤其是涉及您不太熟悉的设置)可能会带来意外后果,因此不建议这样做,除非所有其他方法都无效(并且请务必在操作前确保拥有 100% 可用的数据库备份)。
请检查您的 .yml 文件……问题很可能就在那里。
此用户未在我的 .yml 文件中列出。
即使是管理员也被锁定在基本论坛维护功能之外,这真是令人沮丧。
那么,你可以尝试直接在数据库中执行类似以下的操作:
update users set admin = false where username = 'user_name_of_rouge_user';
其中:
以及:
如果有一个拥有管理员权限的异常用户,而我需要撤销其权限但无法在管理面板中操作,我就会这样做。
随便猜一下——你是不是曾 自定义 Discobot 并将其重命名为 Newsbot?该机器人被视为系统用户,无法撤销其管理员权限。
你可以通过访问其个人资料页面并检查其电子邮件来确认 Newsbot 是否确实是 discobot:
该机器人的电子邮件将显示为 discobot_email。
是的,我们正是这样做的。这个 Discobot 配置文件曾被用来拉取 RSS 订阅源,现在我们希望将其移除。配置文件可以保留,我只需要删除所有相关的帖子/主题。
我不是开发人员,如果能提供简单的操作步骤,我们将不胜感激。
好的,所以您实际上并不关心管理员权限。您的目标是删除帖子吗?建议今后直接告诉我们您的最终目标,而不是您认为有助于实现该目标的当前步骤。
我不认为我们有用于删除特定用户所有帖子的 rake 任务。让我测试一些方法,稍后回复您。
好的。以下方法允许您删除某用户的所有帖子。您需要服务器访问权限。
cd /var/www/discourse
sudo ./launcher enter app
rails c
newsbot,如果不是,请务必修改命令:id = User.find_by_username('newsbot').id
Post.where(user_id: id).each do |p|
PostDestroyer.new(Discourse.system_user, p).destroy
end;