微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐