一、用户管理相关命令

     1.useradd/adduser创建用户

   adduser命令是useradd的连接:file `whereis useradd`

(1)useradd  [options]  LOGIN

        -u, --uid UID:指定UID;

       -g, --gid GROUP:指定基本组ID,必须事先存在;

        -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组

        -c, --comment COMMENT:指明注释信息;

        -s, --shell SHELL:指定用户的默认shell,可用的所有shell列表存储在/etc/shells文件中;

        -r, --system:创建系统用户;

                   -d, --home HOME_DIR:指定路径为用户的家目录;通过复制/etc/skel目录并重命名实现

 指定的家目录路径如果事先存在,则不会为用户复制环境配置文件

       -f, --inactive 更改非活动期限      

        -M: 不创建用户家目录

注意:在/etcpasswd下第六字段还是会存在默认路径目录路径

Linux用户和组命令总结_用户组

     (2)useradd -D显示创建用户的默认配置;

注意:创建用户时的诸多默认设定配置文件为/etc/login.defs

  [root@localhost ~]# vim  /etc/login.defs

MAIL_DIR        /var/spool/mail  邮件队列目录

PASS_MAX_DAYS   99999     密码最大使用天数,99999基本表示永远

PASS_MIN_DAYS   0         密码最小使用天数

PASS_MIN_LEN    5           密码最小长度

PASS_WARN_AGE   7       密码过期警告日期

UID_MIN                   500        最小用户ID

UID_MAX                 60000     最大用户ID

GID_MIN         500         最小用户组ID

GID_MAX         60000       最大用户组ID

UMASK           077      默认遮罩码

CREATE_HOME     yes       创建家目录

USERGROUPS_ENAB yes     删除用户是如果其组没有用户一并删除

ENCRYPT_METHOD SHA512   使用额加密算法为SHA512  

   (3)useradd -D [options]:修改默认选项的值,选项同useradd

  注:修改结果保存于/etc/default/useradd文件中,可直接修改

      2.usermod修改用户属性

          格式:usermod   [options]  LOGIN      

 -u, --uid UID:修改用户的ID为此处指定的新UID;

 -g, --gid GROUP:修改用户所属的基本组;

 -G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组;原来的附加组会被覆盖;

 -a, --append:与-G一同使用,用于为用户追加新的附加组;  -aG

 -c, --comment COMMENT:修改注释信息;

 -d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;

 -m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;-md

 -l, --login NEW_LOGIN:修改用户名;

 -s, --shell SHELL:修改用户的默认shell;

 

-L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";

-U, --unlock:解锁用户的密码;

     3.userdel:删除用户,默认删除用户时不删除用户家目录

   格式:usermod   [options]  LOGIN   

-r:删除用户时一并删除其家目录;

     4.passwd:密码修改

   (1) passwd:修改用户自己的密码;

   (2)passwd  USERNAME:修改指定用户的密码,但仅root有此权限;

OPTIONS

-l, -u:锁定和解锁用户;

-d:清除用户密码串;

-e  DATE: 过期期限,日期;

-i  DAYS:非活动期限;

-n  DAYS:密码的最短使用期限;

-x  DAYS:密码的最长使用期限;

-w  DAYS:警告期限;

--stdin从标准输入读取,一般和管道、重定向用来实现自动化

echo "PASSWORD" | passwd --stdin USERNAME

      5.pwck:检查密码安全和完整性

      6.chage:更改用户密码过期信息

           格式:chage  [OPTION]  USERNAME     

    -d, --lastday:最近一次修改的时间,可以用YYYY-MM-DD功能

    -E, --expiredate:过期时间

    -W, --warndays:警告时间

    -m, --mindays:最短使用时间

    -M, --maxdays :最常使用时间

       7.id:显示用户的信息和有效ID;

  格式:id  [OPTION]... [USER]      

     -u: 仅显示有效的UID;

     -g: 仅显示用户的基本组ID;

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

     -n: 显示名字而非ID;

       8.suswitch user,切换用户

   1)登录式切换:会通过读取目标用户的配置文件来重新初始化, pwd --->/home/USERNAME

su   -   USERNAME       

su   -l USERNAME

  2)非登录式切换:不会读取目标用户的配置文件进行初始化,pwd --->/root

su  USERNAME

注:上说pwd演示说明是以root切换到本机普通用户为实例做简要说明

  3)管理员可无密码切换至其它任何用户;

  4)-c 'COMMAND':仅以指定用户的身份运行此处指定的命令;

不切换用户,完成后自动退回

        9.==================几个逐渐废弃使用命令=================

   chsh:更改用户shell

              finger:用户信息查询

              chfn:更改用户讯息,option基本同上

 

 

 

二、组管理相关命令

    1.groupadd:添加组

格式:groupadd [options] group     

     -g GID:指定GID;默认是上一个组的GID+1;

    -r: 创建系统组;

    2.groupdel:删除组

          格式:groupdel [options] GROUP

    3. groupmod修改组属性

格式:groupmod [options] GROUP

      -g GID:修改GID;

      -n new_name:修改组名;

    4.gpasswd:给组添加密码 ,一般组都没有密码

在临时切换到不属于自己的附属组的其他组时候要通过组密码验证

无密码的组不能被任何用户切换,仅能被组所包含的用户切换

格式:gpasswd [OPTION] group

       -a  USERNAME:向组中添加用户

      -d USERNAME:从组中移除用户

    5.newgrp:临时切换指定的组为基本组,使用exit退出

 格式:newgrp [-] [group]

        -: 会模拟用户重新登录以实现重新初始化其工作环境;

  注意:当临时切换到不属于自己的附加组的时候,要输入密码

    6.grpck:检查组的安全