本发明属于计算机操作系统技术领域,具体涉及一种基于linux系统的实现用户uid唯一性的方法。
背景技术:
计算机操作系统的安全越来越受到重视。而类unix操作系统中,当创建新用户时指定已经被删除的用户的uid的时候,新创建的用户将会具有权限访问被删除用户的遗留文件。这对安全要求高的使用场景来说存在比较大的漏洞。
本发明提供了一种方法,每次创建的用户的uid都是历史唯一的,该用户无法访问已经删除用户的遗留文件,能够保证uid的唯一性以提高操作系统安全性,解决继续使用被删除用户的uid从而导致新用户具有其访问权限的问题。
技术实现要素:
本发明所要解决的技术问题是针对上述现有技术的不足,提供一种基于linux系统的实现用户uid唯一性的方法,解决继续使用被删除用户的uid从而导致新用户具有其访问权限的问题。
为实现上述技术目的,本发明采取的技术方案为:
一种基于linux系统的实现用户uid唯一性的方法,包括:
创建用户和删除用户的方法;
在创建用户时,限制用户指定uid的设置;
在删除用户时,通过修改用户名确保被删除用户无法再被使用。
为优化上述技术方案,采取的具体措施还包括:
封装创建用户的命令,以使得在调用该命令时,达到无法指定uid的效果。
上述的创建用户的方法包括:
s11:判断用户是否指定了用户uid,若是,则提示用户创建失败,否则执行步骤s12;
s12:使用系统允许的uid最小值创建用户;
s13:显示创建结果提示信息。
上述的s11通过修改useradd的方式,禁止在创建用户时指定uid。
封装删除用户的命令,使在调用删除该命令时不真正的删除用户,而是禁用该用户。
上述的删除用户的方法包括:
s21:修改用户的用户名为唯一的随机值;
s22:锁定该用户,让其密码失效;
s23:设置该用户过期;
s24:修改登录的shell使其不能登录。
上述的s22通过使用passwd-l锁定该用户,让其密码失效。
上述的s23通过使用usermod-e将该用户设置为过期。
上述的s24通过使用usermod-s将用户设置为不能通过shell登录。
本发明具有以下有益效果:
采用本发明方案前,在创建用户时指定了之前删除的用户的uid之后,新创建的用户可以访问删除用户的遗留文件。采用本发明方案,每次创建的用户的uid都是历史唯一的,该用户无法访问已经删除用户的遗留文件,能够保证uid的唯一性以提高操作系统安全性。
附图说明
图1是本发明创建用户流程示意图;
图2是本发明删除用户流程示意图;
图3是本发明流程示意图。
具体实施方式
以下结合附图对本发明的实施例作进一步详细描述。
参见图3,本发明的一种基于linux系统的实现用户uid唯一性的方法,包括:
创建用户和删除用户的方法;
在创建用户时,限制用户指定uid的设置;
在删除用户时,通过修改用户名禁止其登录等方法确保被删除用户无法再被使用。
参见图1,实施例中,所述创建用户的方法包括:
s11:判断用户是否指定了用户uid,若是,则提示用户创建失败,否则执行步骤s12;
s12:使用系统允许的uid最小值创建用户;
s13:显示创建结果提示信息。
所述s11通过但不限于修改useradd的方式,禁止在创建用户时指定uid。
参加图2,实施例中,所述删除用户的方法包括:
s21:修改用户的用户名为唯一的随机值;
s22:锁定该用户,让其密码失效;
s23:设置该用户过期;
s24:修改登录的shell使其不能登录。
实施例中,所述s22通过但不限于使用passwd-l锁定该用户,让其密码失效。
实施例中,所述s23通过但不限于使用usermod-e将该用户设置为过期。
实施例中,所述s24通过但不限于使用usermod-s将用户设置为不能通过shell登录。
实施例中,封装删除用户的命令,使在调用删除该命令时不真正的删除用户,而是禁用该用户。封装创建用户的命令,以使得在调用该命令时,达到无法指定uid的效果。
采用本发明方案前,在创建用户时指定了之前删除的用户的uid之后,新创建的用户可以访问删除用户的遗留文件。采用本发明方案,每次创建的用户的uid都是历史唯一的,该用户无法访问已经删除用户的遗留文件,能够保证uid的唯一性以提高操作系统安全性。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
1.一种基于linux系统的实现用户uid唯一性的方法,其特征在于,包括:
创建用户和删除用户的方法;
在创建用户时,限制用户指定uid的设置;
在删除用户时,通过修改用户名确保被删除用户无法再被使用。
2.根据权利要求1所述的一种基于linux系统的实现用户uid唯一性的方法,其特征在于,所述创建用户的方法包括:
s11:判断用户是否指定了用户uid,若是,则提示用户创建失败,否则执行步骤s12;
s12:使用系统允许的uid最小值创建用户;
s13:显示创建结果提示信息。
3.根据权利要求2所述的一种基于linux系统的实现用户uid唯一性的方法,其特征在于,所述s11通过修改useradd的方式,禁止在创建用户时指定uid。
4.根据权利要求1-3任一所述的一种基于linux系统的实现用户uid唯一性的方法,其特征在于,封装创建用户的命令,以使得在调用该命令时,达到无法指定uid的效果。
5.根据权利要求1所述的一种基于linux系统的实现用户uid唯一性的方法,其特征在于,所述删除用户的方法包括:
s21:修改用户的用户名为唯一的随机值;
s22:锁定该用户,让其密码失效;
s23:设置该用户过期;
s24:修改登录的shell使其不能登录。
6.根据权利要求5所述的一种基于linux系统的实现用户uid唯一性的方法,其特征在于,所述s22通过使用passwd-l锁定该用户,让其密码失效。
7.根据权利要求5所述的一种基于linux系统的实现用户uid唯一性的方法,其特征在于,所述s23通过使用usermod-e将该用户设置为过期。
8.根据权利要求5所述的一种基于linux系统的实现用户uid唯一性的方法,其特征在于,所述s24通过使用usermod-s将用户设置为不能通过shell登录。
9.根据权利要求5-8任一所述的一种基于linux系统的实现用户uid唯一性的方法,其特征在于,封装删除用户的命令,使在调用删除该命令时不真正的删除用户,而是禁用该用户。
技术总结