1./etc/group文件 存放组的基本信息
[root@iz2ze46xi6pjjj69ailg9lz ~]# cat /etc/group root:x:0: bin:x:1: daemon:x:2: sys:x:3:
组名:组密码:GID:组成员
字段 | 含义 |
组名 | 用户登录时所在的组 |
组密码 | 一般不使用 |
GID | 组标识号 |
组内用户列表 | 属于该组的用户列表 |
2./etc/gshadow 组密码配置
[root@iz2ze46xi6pjjj69ailg9lz ~]# cat /etc/gshadow
root:::
bin:::
例如:设置组密码并查看配置文件:
[root@iz2ze46xi6pjjj69ailg9lz ~]# gpasswd mygroup #给mygroup设置密码 Changing the password for group mygroup New Password: Re-enter new password: [root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/gshadow #查看/etc/gshadow配置文件 mygroup:$6$wUcog/rKn4p/$fWwlj9.ZQHnpQktuzUXI6iRj4E5I2Yyu3mOaAR9IdqkUhE1hLM8KmeI3 zcIPgNFAyEmLuoWZN7aWXRpjYPjcX0::
组设置密码的时候也是同用户设置密码一样,先写到/etc/group中,然后再写到/etc/gshadow中
[root@iz2ze46xi6pjjj69ailg9lz ~]# grpunconv #将/etc/gshadow的密码反写到/etc/group中 [root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/group #查看/etc/group中的组密码 mygroup:$6$wUcog/rKn4p/$fWwlj9.ZQHnpQktuzUXI6iRj4E5I2Yyu3mOaAR9IdqkUhE1hLM8KmeI3 zcIPgNFAyEmLuoWZN7aWXRpjYPjcX0:888:
3.组基本管理命令:
例如:
[qlq@iz2ze46xi6pjjj69ailg9lz root]$ groups #查看当前qlq用户属于哪个组 qlq [qlq@iz2ze46xi6pjjj69ailg9lz root]$ newgrp mygroup #将当前qlq用户添加到mygroup组中,需要输入mygroup组的密码 Password: [qlq@iz2ze46xi6pjjj69ailg9lz root]$ id #查看当前用户的UID以及组信息 uid=1000(qlq) gid=888(mygroup) groups=888(mygroup),1000(qlq)
* groups和id也可以加其他用户名查看其他用户的信息:
[qlq@iz2ze46xi6pjjj69ailg9lz root]$ id root uid=0(root) gid=0(root) groups=0(root) [qlq@iz2ze46xi6pjjj69ailg9lz root]$ groups root root : root
- 添加用户组
[root@iz2ze46xi6pjjj69ailg9lz ~]# groupadd -g 888 mygroup #创建用户组mygroup,GID为888
[root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/group mygroup:x:888:
- 删除用户组
[root@iz2ze46xi6pjjj69ailg9lz ~]# groupdel mygroup #删除用户组 [root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/group [root@iz2ze46xi6pjjj69ailg9lz ~]#
- 修改用户组 groupmod
[root@iz2ze46xi6pjjj69ailg9lz ~]# groupmod -n mygroup2 mygroup #将mygroup重新命名为mygroup2 [root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/group mygroup2:x:888: [root@iz2ze46xi6pjjj69ailg9lz ~]#
- 用户组管理 gpasswd
gpasswd命令是Linux下工作组文件/etc/group
和/etc/gshadow
管理工具。
语法:
gpasswd(选项)(参数)
选项:
-a:添加用户到组; -d:从组删除用户; -A:指定管理员; -M:指定组成员和-A的用途差不多; -r:删除密码; -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
参数:
组:指定要管理的工作组。
(0)查看组中有哪些成员:
[root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/group mygroup:x:888:qlq
组名:组密码:GID:组成员 最后的qlq则是组中的成员
查看一个用户属于哪个组:
[root@iz2ze46xi6pjjj69ailg9lz ~]# groups qlq #查看qlq属于哪个组
qlq : qlq mygroup
或者:
[root@iz2ze46xi6pjjj69ailg9lz ~]# id qlq uid=1000(qlq) gid=1000(qlq) groups=1000(qlq),888(mygroup)
groups和id如果不加后面的参数默认查询当前用户的组信息。
(1)添加用户到组
[root@iz2ze46xi6pjjj69ailg9lz ~]# gpasswd -a qlq mygroup #添加qlq用户到mygroup组 Adding user qlq to group mygroup [root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/group #查看mygroup组有哪些成员 mygroup:x:888:qlq
(2)从用户组中删除用户
[root@iz2ze46xi6pjjj69ailg9lz ~]# gpasswd -d myuser2 root Removing user myuser2 from group root
(3)设置组的密码:
[root@iz2ze46xi6pjjj69ailg9lz ~]# gpasswd mygroup #设置组密码 Changing the password for group mygroup New Password: Re-enter new password:
也可以将组密码写到/etc/gshadow或者/etc/group中:
[root@iz2ze46xi6pjjj69ailg9lz ~]# grpunconv #将密码反转到/etc/group [root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/group #查看/etc/group发现带上密码信息 mygroup:$6$V/Mkh/dk/NdQk$iOr2BbG/m80pgdODkOxG.5bgQBjMEplhaMCzNgbaPPRd/vEwS8ZycxD DNeh/3Svek7Z1mraDStryYxndSJbUo0:888: [root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/gshadow #查看/etc/gshadow发现文件不存在 grep: /etc/gshadow: No such file or directory [root@iz2ze46xi6pjjj69ailg9lz ~]# grpconv #将密码转换到/etc/gshadow中 [root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/gshadow #查看/etc/gshadow,发现带上密码信息 mygroup:$6$V/Mkh/dk/NdQk$iOr2BbG/m80pgdODkOxG.5bgQBjMEplhaMCzNgbaPPRd/vEwS8ZycxD DNeh/3Svek7Z1mraDStryYxndSJbUo0:: [root@iz2ze46xi6pjjj69ailg9lz ~]# grep mygroup /etc/group #查看/etc/group发现去掉加密密码,且变成密码位 mygroup:x:888:
3.用户管理基本操作
- 添加用户
useradd(选项)(参数)
选项:
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中; -d<登入目录>:指定用户登入时的启始目录; -D:变更预设值; (查看默认的配置) -e<有效期限>:指定帐号的有效期限; -f<缓冲天数>:指定在密码过期后多少天即关闭该帐号; -g<群组>:指定用户所属的群组; -G<群组>:指定用户所属的附加群组; -m:自动建立用户的登入目录; -M:不要自动建立用户的登入目录; -n:取消建立以用户名称为名的群组; -r:建立系统帐号; -s<shell>:指定用户登入后所使用的shell; -u<uid>:指定用户id。
参数:
用户名:要创建的用户名。
例子;
(1)查看默认配置:
[root@iz2ze46xi6pjjj69ailg9lz ~]# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
(2)添加用户
[root@iz2ze46xi6pjjj69ailg9lz ~]# useradd -u 888 -g mygroup -c "my user" myuser #添加用户指定UID与默认的组,同时添加描述信息 [root@iz2ze46xi6pjjj69ailg9lz ~]# grep myuser /etc/passwd #查看刚添加的用户信息 myuser:x:888:888:my user:/home/myuser:/bin/bash [root@iz2ze46xi6pjjj69ailg9lz ~]# passwd myuser #设定用户密码 Changing password for user myuser. New password: BAD PASSWORD: The password is a palindrome Retype new password: passwd: all authentication tokens updated successfully. [root@iz2ze46xi6pjjj69ailg9lz ~]#
也可以手工添加修改,修改/etc/passwd与/etc/shadow文件,同时创建宿主目录。
- 修改用户 usermod
usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定。
语法;
usermod(选项)(参数)
选项:
-c<备注>:修改用户帐号的备注文字; -d<登入目录>:修改用户登入时的目录; -e<有效期限>:修改帐号的有效期限; -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号; -g<群组>:修改用户所属的群组; -G<群组>;修改用户所属的附加群组; -l<帐号名称>:修改用户帐号名称; -L:锁定用户密码,使密码无效; -s<shell>:修改用户登入后所使用的shell; -u<uid>:修改用户ID; -U:解除密码锁定。
参数:
登录名:指定要修改信息的用户登录名。
例子:
[root@iz2ze46xi6pjjj69ailg9lz ~]# usermod -l myuser2 -c "my user2" myuser #修改用户myuser为myuser2,同时修改描述信息 [root@iz2ze46xi6pjjj69ailg9lz ~]# grep myuser /etc/passwd #查看信息 myuser2:x:888:888:my user2:/home/myuser:/bin/bash [root@iz2ze46xi6pjjj69ailg9lz ~]# usermod -g sys myuser2 #修改myuser2用户的用户组为sys组 [root@iz2ze46xi6pjjj69ailg9lz ~]# grep myuser /etc/passwd myuser2:x:888:3:my user2:/home/myuser:/bin/bash
- 删除用户 userdel
语法:
userdel(选项)(参数)
选项:
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
参数:
用户名:要删除的用户名。
例如:
userdel -f qlq
或者
userdel -rf qlq