Java教程

gitlab禁止用户自己删除帐号

本文主要是介绍gitlab禁止用户自己删除帐号,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

查到相关讨论:

  • https://gitlab.com/gitlab-org/gitlab/-/issues/7237

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

于是打算自己改造实现,计划从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

这篇关于gitlab禁止用户自己删除帐号的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!