Linux系统中用户和组管理类命令的使用方法总结及练习

枕上诗书闲处好,门前风景雨来佳。这篇文章主要讲述Linux系统中用户和组管理类命令的使用方法总结及练习相关的知识,希望能为你提供帮助。
    为了实现Linux系统中对不同的用户或不同用户所属的主组、附加组的不同权限设置,我们需要掌握一些必要的管理类命令。

  1. 用户和组管理类命令
    1.1 用户命令
    用户命令主要包括useradd(创建用户)、usermod(修改用户)和userdel(删除用户)
    1.1.1 useradd
    useradd命令可以创建新的Linux用户,其格式为“useradd [options] LOGIN”,常见选项包括:
    ①-u UID:指明创建用户的UID
    ②-g GID:指明用户所属主组
    ③-d:以指定的路径(不存在)为家目录
    ④-s SHELL:指明用户的默认shell模式,可用列表在/etc/shells文件中
    ⑤-G:为用户指明附加组,组须事先存在
    ⑥-N:不创建私用组做主组,使用users组做主组
    ⑦-r:创建系统用户,其中CentOS6及之前版本的创建的系统用户ID<500,CentOS6开始的系统用户ID<1000
    ⑧-m:创建家目录,一般用户系统用户
    ⑨-M:不创建家目录,一般用户非系统用户
    ⑩-p:指定加密的mi码
    1.1.2 usermod
    usermod用于修改用户信息,其命令格式为“usermod [option] login”,常见的选项包括:
    ①-u UID:修改UID
    ②-g GID:修改为指定主组
    ③-G:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项
【Linux系统中用户和组管理类命令的使用方法总结及练习】    ④-s SHELL:修改使用新的shell类型
    ⑤-d HOME:修改用户家目录,新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项
    ⑥-l login_name:修改用户名
    ⑦-L:锁定用户
    ⑧-U:解锁用户
    ⑨-e:设置账号的有效期,即修改/etc/shadow文件第8个字段,EXPIRE_DATE要格式为YYYY-MM-DD
    ⑩-f:指定天数,即修改/etc/shadow文件第7个字段
    1.1.3 userdel
    userdel命令可以用于删除Linux用户,其命令格式为“userdel [option] Login”,常见选项包括:
    ①-f:强制删除
    ②-r:删除用户的家目录和邮箱
    1.2 组命令
    组命令和用户命令相似,包括groupadd(创建组)、groupmod(修改组)和groupdel(删除组)三部分。
    1.2.1 groupadd
    groupadd命令用于创建组,其格式为“groupadd [option]... group_name”,常见的选项包括:
    ①-g GID:指定创建组的GID
    ②-r:创建系统组,CentOS6及之前版本系统组ID<700,CentOS7及之后版本系统组ID<1000
    ③-K:使用指定值,覆盖/etc/login.defs的默认值
    ④-p:使用加密的mi码
    1.2.2 groupmod
    groupmod命令用来修改组属性,其格式为“groupmod [option]... group”,常见选项包括:
    ①-g GID:修改组的GID
    ②-n:修改组名
    ③-o:允许组的GID不唯一
    1.2.3 groupdel
    groupdel命令可以删除组,其格式为“groupdel [options] GROUP”,常见选项部分为“-f”,执行该命令时可以进行强制删除,即使是用户的主组也会被删除掉,这也会导致无主组的用户出现不可用或无法登录的现象。


  1. 用户和组管理类命令练习
    2.1  创建组distro,其GID为2019
    创建组用命令groupadd,指定了GID为2019,则需要用到-g选项,执行命令groupadd -g 2019 distro则完成指定操作(如下图)

    2.2  创建用户mandriva, 其ID号为1005;基本组为distro
    创建用户用命令useradd,指定了ID为1005,需要用到-u选项,同时指定了基本组为distro,即指定了主组,需要用到-g选项,执行命令useradd -u 1005 -g distro mandriva 则完成指定操作,执行命令id distro 也可以查看distro的相关信息(如下图)

    2.3  创建用户mageia,其ID号为1100,家目录为/home/linux
    指定了家目录,需要用到-d选项,执行命令useradd -u 1100 -d /home/linux mageia即完成操作,可以通过id查看相关信息,也可以用ls命令查看是否在/home目录下(如下图)

    2.4  给用户mageia添加mi码,mi码为mageedu,并设置用户mi码7天后过期
    执行passwd mageia为mageia设置mi码,mi码需填写两次(如下图)

    这里要将mageia的mi码设置成7天后过期,需要使用passwd -x的命令格式,其中-x选项表示修改mi码的最长有效期的天数,指的是shadow文件中的第5个内容。执行passwd -x 7 mageia即完成指定操作(如下图)

    2.5  删除mandriva,但保留其家目录
    删除用户用userdel命令,执行userdel mandriva后,通过id去查看会发现不存在了,但通过ls /home 去查看,会发现仍然保留在家目录中(如下图)

    2.6  创建用户slackware,其ID号为2002,基本组为distro,附加组peguin
    该条与2.3条创建megaia操作相似,但多了添加附加组的选项,需用到-G选项,执行useradd -u 2002 -g distro -G peguin slackware命令,若提示尚无peguin组时,我们新建一个,然后再执行以上命令,通过id可查看到已完成相关操作(如下图)

    2.7  修改slackware的默认shell为/bin/tcsh
    这里要用到的是usermod命令,修改shell类型要加-s选项,执行usermod -s /bin/tcsh slackware 命令即可完成相关操作。我们也可在执行前后通过cat /etc/passwd | grep slackware 来对比修改前后的shell区别(如下图)

    2.8  为用户slackware新增附加组admins,并设置不可登陆
    这里要用到的命令包括groupadd(创建组)和usermod(修改用户)。usermod部分,因为是新增附加组,要用到-aG选项,同时是为slackware新增即锁定用户,需用到-L选项。修改完毕后,当我们切换到slackware时,会提示账户当前不可用,即不可登录,具体操作如下:


    推荐阅读