linux中所有内容都是以文件形式存在,创建用户和组同样是以文件形式存入到系统。
创建用户会在/etc/passwd,/etc/shadow,/home,/var/mail中存储信息,其中passwd存储用户所有信息,shadow存储用户密码,home下创建用户 的家目录,mail下创建邮件。
创建用户组会在/etc/group中写入信息。
1、创建用户命令: useradd 用户名
删除用户命令:userdel -r 用户名 其中-r参数表示强制删除,不使用此参数home下和mail下部分信息删除不掉,再次创建同名账号会提示不成功。
[root@jiaoqiubo etc]# useradd zhangsan 创建zhangsan用户
useradd: user 'zhangsan' already exists zhangsan用户已经存在
[root@jiaoqiubo etc]# userdel zhangsan 删除zhangsan用户不是强制删除
[root@jiaoqiubo etc]# useradd zhangsan 再次添加zhangsan用户
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it. home与mail下文件未能删除,创建用户失败
Creating mailbox file: File exists
[root@jiaoqiubo etc]# userdel -r zhangsan 强制删除zhangsan
[root@jiaoqiubo etc]# useradd zhangsan 再次添加zhangsan用户 创建成功
[root@jiaoqiubo etc]# id zhangsan 查看zhangsan用户信息
uid=1007(zhangsan) gid=1008(zhangsan) groups=1008(zhangsan)
2、用户组创建命令:groupadd 组名
用户组删除命令:groupdel 组名
[root@jiaoqiubo etc]# groupadd hr 创建用户组hr
groupadd: group 'hr' already exists 用户组hr存在,提示创建hr用户组已经存在
[root@jiaoqiubo etc]# groupdel hr 删除用户组hr
[root@jiaoqiubo etc]# groupadd hr 再次创建用户组hr
[root@jiaoqiubo etc]#
3、将用户添加到用户组中命令:usermod -G 组名 用户名
usermod -aG 组名 用户名
其中参数-G表示是组名覆盖,给用户添加的组名会覆盖之前的用户组。
-aG表示组名追加,给用户添加的组名会追加到之前组名后面,此时用 户同时属于两个组。
将用户从用户组中剔除:gpasswd -d 用户名 组名
[root@jiaoqiubo etc]# usermod -G hr zhangsan 将zhangsan用户添加到hr组
[root@jiaoqiubo etc]# id zhangsan 显示zhangsan信息
uid=1007(zhangsan) gid=1008(zhangsan) groups=1008(zhangsan),1009(hr)
[root@jiaoqiubo etc]# usermod -G hr1 zhangsan 将zhangsan添加到hr1组
[root@jiaoqiubo etc]# id zhangsan 展示zhangsan用户信息
uid=1007(zhangsan) gid=1008(zhangsan) groups=1008(zhangsan),1005(hr1) 组hr
覆盖组hr
[root@jiaoqiubo etc]# usermod -aG hr zhangsan 将zhangsan用户追加组,hr
[root@jiaoqiubo etc]# id zhangsan
uid=1007(zhangsan) gid=1008(zhangsan) groups=1008(zhangsan),1005(hr1),1009(hr) zhangsan属于hr1与hr两个组
[root@jiaoqiubo etc]# gpasswd -d zhangsan hr 将zhangsan从hr组中移除
Removing user zhangsan from group hr
[root@jiaoqiubo etc]# id zhangsan
uid=1007(zhangsan) gid=1008(zhangsan) groups=1008(zhangsan),1005(hr1) zhangsan用户只属于组hr1
[root@jiaoqiubo etc]#