一种基于Linux系统的实现用户UID唯一性的方法与流程

    专利2022-07-08  92


    本发明属于计算机操作系统技术领域,具体涉及一种基于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唯一性的方法,其特征在于,封装删除用户的命令,使在调用删除该命令时不真正的删除用户,而是禁用该用户。

    技术总结
    本发明公开了一种基于Linux系统的实现用户UID唯一性的方法,创建用户和删除用户的方法;在创建用户时,限制用户指定UID的设置;在删除用户时,通过修改用户名禁止其登录等方法确保被删除用户无法再被使用。采用本发明方案前,在创建用户时指定了之前删除的用户的UID之后,新创建的用户可以访问删除用户的遗留文件。采用本发明方案,每次创建的用户的UID都是历史唯一的,该用户无法访问已经删除用户的遗留文件,能够保证UID的唯一性以提高操作系统安全性。

    技术研发人员:李智坚;陆丰麒;顾金香
    受保护的技术使用者:南京富士通南大软件技术有限公司
    技术研发日:2020.10.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-21155.html

    最新回复(0)