用户管理命令总结:
一、组相关命令
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