一、用户和用户组的概念
用户:使用操作系统的人
用户组:具有相同系统权限的一组用户
/etc/group 存储当前系统中所有用户组信息
— Group: x : 123 : abc,def,xyz
— 组名称:组密码占位符:组编号:组中用户名列表
/etc/gshadow 存储当前系统中用户组的密码信息
— Group : * : : abc,def,xyz
— 组名称:组密码:组管理者:组中用户名列表
/etc/passwd 存储当前系统中所有用户的信息
— user : x : 123 : 456 : xxxxxxx : /home/user : /bin/bash
— 用户名:密码占位符:用户编号:用户组编号:用户注释信息:用户主目录:shell类型
/etc/shadow 存储当前系统中所有用户的密码信息
— user :vf;/Zu8sdf..:::::
— 用户名:密码:::::
二、用户和用户组的基本命令
groupadd 用户组
#添加用户组
例:
— [root@localhost ~]# groupadd sexy
groupmod -n 新用户组名 旧用户组名
#修改用户组名
例:
— [root@localhost ~]# groupmod -n market sexy
groupmod -g 用户组编号 用户组名称
#修改用户组编号
例:
— [root@localhost ~]# groupmod -g 668 market
groupadd -g 用户组编号 用户组名称
#创建新用户,并指定编号
例:
— [root@localhost ~]# groupadd -g 888 boss
groupdel 用户组名称
#删除用户组
例:
— [root@localhost ~]# groupdel market
注:删除用户组前需要先删除或转移当前用户组的用户
useradd -g 用户组名称 用户名
#添加新用户并指定的用户组
例:
— [root@localhost ~]# useradd -g sexy sdf
useradd -d 用户文件夹 用户名
#添加新用户并指定用户文件夹
例:
— [root@localhost ~]# useradd -d /home/xxx imooc
注:添加新用户时,如果没有指定用户组,会对应生成与用户名相同的用户组
usermod -c 用户备注 用户名
#给用户添加注释
例:
— [root@localhost ~]# usermod -c dgdzmx sdf
usermod -l 新用户名 旧用户名
#修改用户名
例:
— [root@localhost ~]# usermod -l cls sdf
usermod -d 用户文件夹 用户名
#给用户指定新用户文件夹
例:
— [root@localhost ~]# usermod -d /home/cls cls
usermod -g 用户组 用户名
#给用户指定用户组
例:
— [root@localhost ~]# usermod -g sexy imooc
userdel 用户名
#删除用户
例:
— [root@localhost ~]# userdel jzmb
userdel -r 用户名
#删除用户同时删除用户文件夹
例:
— [root@localhost ~]# userdel -r jzmb
touch /etc/nologin
#禁止除了root外的所有用户登录,只要在/etc/下建立nologin文件,文件不包含任何内容
三、用户和用户组进阶命令
passwd -l 用户名
#锁定用户
例:
— [root@localhost ~]# passwd -l cls
passwd -u 用户名
#解锁用户名
例:
— [root@localhost ~]# passwd -u cls
passwd -d 用户名
#清除用户密码
例:
— [root@localhost ~]# passwd -d cls
主要组与附属组
用户可以同时属于多个组
— 一个主要组
— 多个附属组
gpasswd -a 用户 附属组名称
#给用户添加附属组
例:
— [root@localhost ~]# gpasswd -a cls boss
newgrp 用户组
#用户切换用户组
例:
— [root@localhost ~]# newgrp boss
gpasswd -d 用户名 用户组
#把用户从某用户组中移除
例:
— [root@localhost ~]# gpasswd -d cls boss
useradd -g 主用户组 -G 附属用户组1,附属用户组2… 用户名
#新建用户,并指定用户组及附属用户组
例:
— [root@localhost ~]# useradd -g group1 -G group2,group3… test
gpasswd 用户组名称
#设置用户组密码
例:
— [root@localhost ~]# gpasswd imooc
四、其他命令
su 用户名
#切换用户
例:
— [root@localhost ~]# su username
注:如果只输入su不输入用户名,表示切换到root用户
whoami
#我是谁?显示当前登陆用户名
id 用户名
#显示指定用户信息,包括用户编号、用户名、主要组编号及名称,附属组列表
例:
— [root@localhost ~]# id imooc
groups 用户名
#显示指定用户所在的所有组
例:
— [root@localhost ~]# groups imooc
chfn 用户名
#设置用户资料,依次输入用户资料
例:
— [root@localhost ~]# chfn imooc
finger 用户名
#显示用户详细资料
例:
— [root@localhost ~]# finger imooc