gitlab禁止用户自己删除帐号

自建gitlab,发现 /-/profile/account竟然可以删除自己的帐号,然后小伙伴就删除了。

查到相关讨论:

短时间内是没有这功能了。
为了合规,确实应该有注销帐号功能,但自建自用的,有时不希望被删除,不用的帐号禁用即可。

于是打算自己改造实现,计划从Nginx入手,禁用掉相关的URL访问。
看了下相关页面和接口,删除是提交数据到/users这个公共的API,不好禁用。
于是打算禁用 /-/profile/account
相关的配置是在/var/opt/gitlab/Nginx/conf/gitlab-http.conf中,打算增加一条规则。

if ($request_uri  ~* "/-/profile/account")
{
	return 404 'account disable by admin';
}

为了方便,写成了脚本(操作前记得备份配置文件,改坏不赔)

#确定要插入配置的行,根据当前配置内的相似配置
export FN=/var/opt/gitlab/Nginx/conf/gitlab-http.conf
export LN=$(cat $FN | grep "location /assets" -n| awk -F ":" '{print $1}')
echo $LN
#插入配置
export CFG="if (\$request_uri  ~* \"/-/profile/account\"){return 404 'account disable by admin';}"
echo $CFG
sed -i "${LN} i $CFG" $FN

配置改好后,重启下Nginx就行了gitlab-ctl restart Nginx

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...