此时,
dmtsai
的有效群组就成为
users
了。我们额外的来讨论一下
newgrp
这个指令,这个指令可
以变更目前用户的有效群组,
而且是
另外以一个
shell
来提供这个功能
的喔,所以,以上面的例子
来说,
dmtsai
这个使用者目前是以另一个
shell
登入的,而且新的
shell
给予
dmtsai
有效
GID
为
users
就是了。如果以图示来看就是如下所示:
图
13.1.2
、
newgrp
的运作示意图
虽然用户的环境设定
(
例如环境变量等等其他数据
)
不会有影响,但是使用者的『群组权限』½会重新
被计算。
但是需要注意,由于是新取得一个
shell
,因此如果你想要回到原本的环境中,请输入
exit
回到原本的
shell
喔!
既然如此,也就是说,只要我的用户有支持的群组就是能够切换成为有效群组!好了,
那么如何让
一个账号加入不同的群组就是问题的所在啰。你要加入一个群组有两个方式,一个是透过系统管理员
(root)
利用
usermod
帮你加入,如果
root
太忙了而且你的系统有设定群组管理员,那么你可以透过
群组管理员以
gpasswd
帮你加入他所管理的群组中!详细的作法留待下一小½再来½绍啰!
.
/etc/gshadow
刚刚½了很多关于『有效群组』的概念,另外,也提到
newgrp
这个指令的用法,但是,如果
/etc/gshadow
这个设定没有搞懂得话,那么
newgrp
是无法动作的呢!
鸟哥测试机的
/etc/gshadow
的
内容有点像这样:
[root@study ~]#
head
-
n 4 /etc/gshadow
root:::
bin:::
daemon:::
sys:::
这个文件内同样还是使用冒号『
:
』来作为字段的分隔字符,而且你会发现,这个文件几乎与
/etc/group
一模一样啊!是这样没错~不过,要注意的大概就是第二个字段吧~第二个字段是密码栏,
如果密
码栏上面是『
!
』或空的时,表示该群组不具有群组管理员!至于第四个字段也就是支持的账号名称
啰~
这四个字段的意义为:
1.
组名
2.
密码栏,同样的,开头为
!
表示无合法密码,所以无群组管理员
3.
群组管理员的账号
(
相关信息在
gpasswd
中½绍
)
4.
有加入该群组支持的所属账号
(
与
/etc/group
内容相同!
)
以系统管理员的½度来说,这个
gshadow
最大的功能就是
½立群组管理员
啦!
那么什么是群组管理
员呢?由于系统上面的账号可能会很多,但是我们
root
可能平时太忙碌,所以当有使用者想要加入