linux用户和组管理类命令总结及练习

一、用户管理命令

  1、用户管理命令

    用户创建:useradd

      -u UID:指定UID

      -o:配合-u使用,不检查UID的唯一性

      -g GID:指定用户所属基本组,可以为组名也可以为GID

      -c "COMMENT":用户的注释描述信息

      -d HOME_DIR:以制定的路径(不存在)为家目录

      -s SHELL:指明用户的默认shell程序,可用列表在/etc/shells文件中

      -G GROUP1[,GROUP2,...]:为用户指定附加组,组需事先存在

      -N:不创建私用组做主组,使用users组做主组

      -r:创建系统用户 CentOS 6:ID<500,Centos7:ID<1000

      -m:创建家目录,用于系统用户

      -M:不创建家目录,用于非系统用户

      -D:显示当前用户的默认设置

    2、默认值设定:/etc/default/useradd

    显示或更改默认设置

      useradd -D

      useradd -D -s SHELL

      useradd -D -b BASE_DIR

      useradd -D -g GROUP

    3、新建用户相关的文件和命令

      /etc/default/useradd

      /etc/skel/*

      /etc/login.defs

      newusers passwd格式文件,批量创建用户

      chpasswd 批量修改用户口令

    3、用户属性修改

      usermod [OPTION] login

        -u UID:新UID

        -g GID:新主组

        -G GROUP1[,GROUP2,...]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项

        -s SHELL:新的默认SHELL

        -c 'COMMENT':新的注释信息

        -d HOME:新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m选项

        -l login_name:新的名字

        -L:lock指定用户,在/etc/shadow的密码栏增加!

        -U:unlock指定用户,将/etc/shadow密码栏的!拿掉

        -e YYYY-MM-DD:指明用户账号过期日期

        -f INACTIVE:设定非活动期限

    4、删除用户

      userdel [OPTION]... login

        -r:删除用户同时删除用户家目录

    5、查看用户相关的ID信息

      id [OPTION]... [USER]

        -u:显示UID

        -g:显示GID

        -G:显示用户所属的组的ID

        -n:显示名称,需配合ugG使用

    6、切换用户或以其他用户身份执行命令

      su [options...] [-] [user [args...]]

      切换用户的方式:

        su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录

        su - UserName:登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换

        root su至其他用户无需密码;非root用户切换时需要密码

        换个身份执行命令:

          su [-] UserName -c 'COMMAND'

        选项:-l --login

          su -l UserName 相当于 su - UserName

    7、设置密码

      passwd [OPTIONS] UserName:修改指定用户的密码

      常用选项:

        -d:删除指定用户密码

        -l:锁定指定用户

        -u:解锁指定用户

        -e:强制用户下次登录修改密码

        -f:强制操作

        -n mindays:指定最短使用期限

        -x maxdays:最大使用期限

        -w warndays:提前多少天开始警告

        -i inactivedays:非活动期限

        --stdin:从标准输入接收用户密码

          示例:echo "PASSWORD" | passwd --stdin USERNAME

    8、修改用户密码策略

      chage [OPTION]... LOGIN

        -d LAST_DAY

        -E --expiredate EXPIR_DATE

        -I --inactive INACTIVE

        -m --mindays MIN_DAYS

        -M --maxdays MAX_DAYS

        -W --warndays WARN_DAYS

        -l 显示密码策略

      示例:

        chage -d 0 tom 下一次登录强制重设密码

        chage -m 0 -M 43 -W 14 -I 7 tom

        chage -E 2016-09-10 tom

    9、用户相关的其他命令

      chfn 指定个人信息

      chsh 指定shell

      finger:让使用者查询一些其他使用者的资料信息

  

  2、组账号维护命令

    1、创建组

    groupadd [OPTION]... group_name

      -g GID 指明GID号;[GID_MIN, GID_MAX]

      -r  创建系统组

        CentOS 6:ID<500

        CentOS 7:ID<1000

    2、修改和删除组

    组属性修改:groupmod

    groupmod [OPTION]... group

      -n group_name:新名字

      -g GID:新的GID

    组删除:groupdel

    groupdel GROUP

    3、更改组密码

    组密码:gpasswd

    gpasswd [OPTION] GROUP

      -a user 将user添加至指定组中

      -d user 从指定组中移除用户user

      -A user1,user2,...  设置有管理权限的用户列表

    newgrp命令:临时切换主组

      如果用户本不属于此组,则需要组密码

    4、更改和查看组成员

    groupmems [options] [action]

    options:

      -g, --group groupname 更改为指定组(只有root)

    actions:

      -a, --add username  指定用户加入组

      -d, --delete username 从组中删除用户

      -p, --purge  从组中清除所有成员

      -l, --list  显示组成员列表

    groups [OPTION].[USERNAME]...查看用户所属组列表

  3、实力练习

    (1)创建组distro,其GID为2019;

      创建:

      #groupadd -g 2019 distro

      创建完成后查看:

      #cat /etc/group

    (2)创建用户mandriva,其ID号为1005,基本组为distro;

      创建:

      #useradd -u 1005 -g distro mandriva

      查看:

      #cat /etc/passwd

    (3)创建用户mageia,其ID号为1100,家目录为/home/linux;

      创建:

      #useradd -u 1100 -d /home/linux mageia

      查看:

      #cat /etc/passwd

    (4)给用户mageia添加密码,密码为mageedu,并且设置用户密码7天后过期;

      设置密码:

      #echo "mageedu" | passwd --stdin mageia

      设置用户密码7天后过期:

      #passwd -x 7 mageia

      查看:

      #cat /etc/shadow

    (5)删除mandriva,但保留其家目录;

      #userdel mandriva

    (6)创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;

      #useradd -u 2002 -g distro -G peguin slackware

    (7)修改slackware的默认shell为/bin/tcsh;

      #usermod -s /bin/tcsh

    (8)为用户slackware新增附加组admins;

      #usermode -aG admins

原文地址:https://www.cnblogs.com/oceanftd/p/13629797.html