|NO.Z.00034|——————————|LinuxBasicEnd|——|Linux&用户管理.V04|

一、组管理命令:添加用户组:groupadd
### --- 添加用户组:groupadd
~~~     添加用户组的命令是 groupadd,命令格式如下:
### --- 选项:
~~~     -g GID: 指定组 ID
~~~     添加用户组的命令比较简单,举个例子:

[root@localhost ~]# groupadd [选项] 组名
~~~     添加 group1 组

[root@localhost ~]# groupadd group1
[root@localhost ~]# grep "group1" /etc/group
group1:x:502:

二、删除用户组:groupdel

### --- 删除用户组:groupdel
### --- groupdel 命令用于删除用户组,命令格式如下:

[root@localhost ~]#groupdel 组名
### --- 例子:
~~~     删除 testgrp 组
~~~     不过大家要注意,要删除的组不能是其他用户的初始组,
~~~     也就是说这个组中没有初始用户才可以删除。如果组中有附加用户,则删除组时不受影响。

[root@localhost ~]# groupdel testgrp

三、把用户添加进组或从组中删除:gpasswd

### --- 把用户添加进组或从组中删除:gpasswd
### --- 其实 gpasswd 命令是用来设定组密码并指定组管理员的,不过我们在前面已经说了,
~~~     组密码和组管理员功能很少使用,而且完全可以被 sudo 命令取代,
~~~     所以 gpasswd 命令现在主要用于把用户添加进组或从组中删除。命令格式如下:
### --- 选项:
~~~     -a 用户名: 把用户加入组
~~~     -d 用户名: 把用户从组中删除

[root@localhost ~]# gpasswd [选项] 组名
 
### --- 举个例子:
[root@localhost ~]# groupadd grouptest
 
~~~     添加组 grouptest
[root@localhost ~]# gpasswd -a user1 grouptest
Adding user user1 to group grouptest
 
~~~     把用户 user1 加入 grouptest 组
[root@localhost ~]# grep "user1" /etc/group
user1:x:501:
grouptest:x:505:user1
 
~~~     查看一下,user1 用户已经作为附加用户加入 grouptest 组
[root@localhost ~]# gpasswd -d user1 grouptest
Removing user user1 from group grouptest
 
~~~     把用户 user1 从组中删除
~~~     组中没有 user1 用户了
~~~     大家注意,也可以使用 usermod 命令把用户加入某个组,
~~~     不过 usermod 命令的操作对象是用户,
~~~     命令是“usermod -G grouptest user1”,把用户名作为参数放在最后;
~~~     而 gpasswd 命令的操作对象是组,命令是“gpasswd -a user1 grouptest”,
~~~     把组名作为参数放在最后。

[root@localhost ~]# grep "grouptest" /etc/group
grouptest:x:505:
四、改变有效组:newgrp
### --- 改变有效组:newgrp
~~~     我们说过,每个用户可以属于一个初始组(用户是这个组的初始用户),
~~~     也可以属于多个附加组(用户是这个组的附加用户)。既然用户可以属于这么多用户组,
~~~     那么用户在创建文件后,默认生效的组身份是哪个呢?当然是初始用户组的组身份生效了,
~~~     因为初始组是用户一旦登录就直接获得的组
~~~     身份。也就是说,用户在创建文件后,文件的属组是用户的初始组,因为用户的有效组默认是初始组。
~~~     既然用户属于多个用户组,那么能不能改变用户的有效组呢?
~~~     使用命令 newgrp 就可以切换用户的有效组。命令格式如下:

[root@localhost ~]# newgrp 组名
### --- 举个例子,我们已经有了普通用户 user1,默认会建立 user1 用户组,
~~~     user1 组是 user1 用户的初始组。我们再把 user1 用户加入 group1 组,
~~~     那么 group1 组就是 user1 用户的附加组。当 user1 用
~~~     户创建文件 test1 时,test1 文件的属组是 user1 组,
~~~     因为 user1 组是 user1 用户的有效组。通过 newgrp
~~~     命令就可以把 user1 用户的有效组变成 group1 组,当 user1 用户创建文件 test2 时,
~~~     就会发现 test2文件的属组就是 group1 组。命令如下:

[root@localhost ~]# groupadd group1
~~~     添加组 group1
[root@localhost ~]# gpasswd -a user1 group1
Adding user user1 to group group1
 
~~~     把 user1 用户加入 group1 组
[root@localhost ~]# grep "user1" /etc/group
user1:x:501:
group1:x:503:user1
~~~     user1 用户既属于 user1 组,也属于 group1 组
[root@localhost ~]# su – user1
 
~~~     切换成 user1 身份,超级用户切换成普通用户不用密码
[user1@localhost ~]$ touch test1
~~~     创建文件 test1
[user1@localhost ~]$ ll test1
-rw-rw-r-- 1 user1 user1 0 114 05:43 test1
 
~~~     test1 文件的默认属组是 user1 组
[user1@localhost ~]$ newgrp group1
~~~     切换 user1 用户的有效组为 group1 组
[user1@localhost ~]$ touch test2
 
~~~     创建文件 test2
~~~     test2 文件的默认属组是 group1 组
~~~     通过这个例子明白有效组的作用了吗?其实就是当用户属于多个组时,
~~~     在创建文件时哪个组身份生效。使用 newgrp 命令可以在多个组身份之间切换。
[user1@localhost ~]$ ll test2
-rw-r--r-- 1 user1 group1 0 114 05:44 test2

五、组权限实验
### --- 添加组
[root@server11 ~]# groupadd yanqigroup
 
### --- 删除组
[root@server11 ~]# groupdel yanqigroup
### --- 手动把用户添加到组里
[root@server11 ~]# gpasswd -a yanqi1 yanqigroup #推荐使用gpasswd添加用户到附加组里
Adding user yanqi1 to group yanqigroup
[root@server11 ~]# gpasswd -a yanqi2 yanqigroup
Adding user yanqi2 to group yanqigroup  

~~~     查看添加是否成功
[root@server11 ~]# cat /etc/group  
yanqigroup:x:1004:yanqi1,yanqi2
### --- 删除组内用户

[root@server11 ~]# gpasswd -d yanqi1 yanqigroup
Removing user yanqi1 from group yanqigroup
[root@server11 ~]# gpasswd -d yanqi2 yanqigroup
Removing user yanqi2 from group yanqigroup
[root@server11 ~]# cat /etc/group  
yanqigroup:x:1004:
### --- 若是初始用户存在,是不可以删除用户的初始组
 
[root@server11 ~]# useradd -g yanqigroup yanqi3
[root@server11 ~]# useradd -g yanqigroup yanqi4
[root@server11 ~]# userdel -r yanqi4                                // 删除用户4
[root@server11 ~]# groupdel yanqigroup
groupdel: cannot remove the primary group of user 'yanqi3'
~~~     若是想删除这个组,必须删除组内的初始用户
 
[root@server11 ~]# userdel -r yanqi3                                // 删除组之前,必须没有初始用户,否则是删除不了的。
[root@server11 ~]# groupdel yanqigroup 
### --- 改变有效组:newgrp
~~~     查询用户相关信息
[root@server11 ~]# id yanqi
uid=1001(yanqi) gid=1001(yanqi) groups=1001(yanqi)

~~~     查看当前登录用户
[root@server11 ~]# whoami
root
### --- 组权限实验:组内用户可以上传修改自己的文件,且对组内文件有没有控制权限;示例如下

[root@server11 ~]# mkdir /www
[root@server11 ~]# ll -d /www/
drwxr-xr-x 2 root root 6 Mar 10 21:17 /www/
 
~~~     新建用户并创建组,并且把用户添加到该组里面
[root@server11 ~]# useradd www1
[root@server11 ~]# passwd www1 
[root@server11 ~]# useradd www2
[root@server11 ~]# passwd www2
[root@server11 ~]# groupadd www
 
~~~     将用户添加到组里
[root@server11 ~]# gpasswd -a www1 www
Adding user www1 to group www
[root@server11 ~]# gpasswd -a www2 www
Adding user www2 to group www
[root@server11 ~]# cat /etc/group
www:x:1005:www1,www2
~~~     改变目录所有者和所属组
[root@server11 ~]# ll -d /www/
drwxr-xr-x 2 root root 6 Mar 10 21:17 /www/
[root@server11 ~]# chown www1:www /www/
[root@server11 ~]# ll -d /www/
drwxr-xr-x 2 www1 www 6 Mar 10 21:17 /www/
 
~~~     改变文件权限
[root@server11 ~]# chmod 770 /www/
[root@server11 ~]# ll -d /www/
drwxrwx--- 2 www1 www 6 Mar 10 21:17 /www/

 

 

 

 

 

 

 

 
 

Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
                                                                                                                                                   ——W.S.Landor

 

 

posted on   yanqi_vip  阅读(10)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示