用户管理命令总结:

一、组相关命令

1.groupadd: 新建一个组

使用格式:groupadd [-g gid] [-r]  groupname

选项和参数:

-g: 指定组ID

-r: 建立一个系统组

示例:新建一个名为newgroup的组,组密码为newgroup123

groupadd -p 'newgroup123' newgroup


2.groupdel: 删除一个组

使用格式:groupdel groupname

示例:

groupdel newgroup


3.groupmod: 修改一个系统中已经存在的组

使用格式: groupmod [-g gid] [-n groupname] group

选项和参数:

-g: 修改GID

-n: 修改组名

4.gpasswd:设定组密码

使用格式: gpasswd group

5.newgrp:切换基本组为指定的组

使用格式: newgrp [group]

二、用户相关命令

    1.useradd: 创建用户

        使用格式:useradd [-u UID][-g 基本组][-G 附加组][-mM][-c 说明栏][-d 家目录绝对路径][-s 默认shell类型] 需要创建的账号名

选项和参数:

-D: 修改用户默认值参数

                -r: 创建系统用户(系统用户UID CentOS6:0-499 CentOS7:0-999)

                -u UID: 指定UID

-g GID: 指定用户所属基本组,此组必须事先存在

-c 'COMMENT':创建注释说明

-d /PATH/TO/SOMEWHERE:指定用户的主目录路径;此位置不能事先存在,否则,其用户相关配置文件将被复制;/etc/skel

-s SHELL:设定用户的默认shell(不指定预设是/bin/bash);可以查看 /etc/shells修改相应的shell

-G Group1,...:指定所属的附加组,多个组可以用逗号隔开添加

-M: 不给用户创建家目录;(系统账号默认)

-m: 给用户创建家目录;(普通账号默认)

  

示例 创建用户Oracle,基本组为oinstall,所属附加组database和grid,ID号为3000, 家目录为/home/database;

  groupadd oinstall

  groupadd grid

  groupadd database

  useradd -u 3000 -G database,grid -d /home/database Oracle

  

2.userdel: 删除用户账户和相关文件

使用格式: userdel [-rf] 需要删除的账号名

选项和参数:

-f:  强行删除用户,哪怕用户还在登陆中

-r: 删除用户及其家目录和邮件缓冲池

 

示例:删除一个Oracle及其相关文件

    userdel -r Oracle


3.usermod: 修改一个当前已经存在的账户,基本参数和useradd一致

使用格式: usermod [-cdgGlsuLU] username

选项和参数:

-u UID: 指定UID

-g GID: 指定UID

-G GID[,GID,...]:修改用户所属的附加组;同时使用-a选项;

-s SHELL: 设定用户的默认shell(不指定预设是/bin/bash);可以查看 /etc/shells修改相应的shell

-c 'COMMENT':创建注释说明

-d : 后面跟账号的家目录,即修改用户的家目录为新位置时,用户原来的文件是不会被移动至新家;-m选项可实现同时将其迁至新的家目录;

-l :后面跟账号名称.即修改账号名称


-L:锁定账号

-U: 解锁账号

 

示例:修改Oracle用户的shell为/bin/sh,并将其加入到dog组

 usermod -a -G dog -s /bin/sh Oracle

 

4.id:查看用户相关的id信息;

使用格式:id [-ugGn]... [USER]

选项和参数:

-u: UID

-g: GID

-G: Groups

-n: NAME


5.su: 切换用户或以其它用户的身份执行命令;

切换方式:

su USERNAME: 非完全切换;非登录式切换

su - USERNAME或su -l USERNAME: 完全切换;登录式切换


仅以指定用户的身份执行指定的命令:

su - USERNAME -c 'COMMAND'



6.passwd: 修改用户认证令牌

使用格式: passwd   [-l][-u][-n mindays][-x maxdays][-w

       warndays][-i inactivedays][-S][--stdin][username]

选项和参数:

-n: 后面接天数,多久不可修改密码的天数

-x: 后面接天数,多久内必须要修改密码

-w: 后面接天数,密码过期前的警告天数

-i: 后面接日期,密码失效日期

-S: 列出密码相关参数

-u: 锁定用户

-l: 解锁用户

--stdin 以管道形式修改用户密码

示例:使用--stdin方式修改Oracle用户密码

echo 'oracle123'|passwd --stdin Oracle