gitlab里面有个功能,可以让用户自己删除掉自己的账户
网上没有找到禁用这个功能的方法,于是开始苦苦研究源码,最后发现在
/opt/gitlab/embedded/service/gitlab-rails/app/policies/user_policy.rb
有这样的代码
rule { ~subject_ghost & (user_is_self | admin) }.policy do enable :destroy_user enable :update_user end
只需要修改为
rule { ~subject_ghost & admin }.policy do enable :destroy_user enable :update_user end rule { ~subject_ghost & user_is_self }.policy do enable :update_user end
就可以实现只有管理员能删除账号了。
然后重启服务
sudo gitlab-ctl restart
效果图: