一种基于Linux系统的实现用户UID唯一性的方法
文献发布时间:2023-06-19 10:11:51
技术领域
本发明属于计算机操作系统技术领域,具体涉及一种基于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的唯一性以提高操作系统安全性。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
- 一种基于Linux系统的实现用户UID唯一性的方法
- 一种基于Linux系统的实现用户UID唯一性的方法