首页 > 代码库 > Ubuntu下的用户和权限(三)
Ubuntu下的用户和权限(三)
七、增删群组相关的命令
相同的我们要先介绍两个重要的设定档:/etc/group和/etc/gshadow,前面那个事实上和/etc/passwd一样。而后者就是群组的password表了。先看看长啥样:
root:x:0:
adm:x:4:m,syslog
m:x:1000:
这是截取的/etc/group的一部分,每行被冒号分成四段,第一段是群组名。第二段是password; 第三段是gid;第四段就是该组以下的成员了。
我们看到root和m群组第四段是空的,而adm群组的第四段有两个成员。为什么会有这样的差别呢?原来每一个用户增加的群组分为主要群组和次要群组,主要群组是指用户账户刚建立的时候绑定的那个群组,仅仅要看一下/etc/passwd里面的第四段就能够知道该用户的主要群组是哪个,来看用户m的信息 m:x:1000:1000:m,,,:/home/m:/bin/bash 显然用户m的主要群组是m。那么每一个账户的名字是不会出如今/etc/group中主要群组的第四段的,由于在某种程度上这是不言而喻或默认的;若某个用户出如今第四段了。那意味着该群组不是其主要群组。
另一个概念叫有效群组,尽管一个用户能够增加多个群组并拥有对应权限,但这是针对已经存在的档案或文件夹而言。若果某用户要新建一个文件或文件夹,那它属于该用户的哪个群组呢?答案是有效群组,即此时该用户所在的那个组。
我们知道某一时刻,一个用户仅仅能在一个组内活动,即使他拥有其它群组的权限。打个例如,一个领导管理三个部门即拥有三个群组的权限,可是每一个时刻他仅仅能坐在某一个特定部门的办公室,却不能分身同一时候坐在三个办公室,即使他拥有另外两个办公室的进入权。
用groups命令能够查看当前用户所属的全部群组,当中第一个就是该用户的有效群组。
用newgrp命令能够切换有效群组。类似领导要去还有一个办公室。
然后又是默认情况,即某用户一登陆linux时。有效群组是哪个呢?类似于每天领导第一个去的办公室是哪个?答案是上面的主要群组,在这里它被称为初始群组。但不管哪个名字,说的都是/etc/passwd的第四段那个群组。
root:*::
daemon:*::
m:!::
这是截取的/etc/gshadow的一部分。每行也是被冒号分成四段,各自是群组名、password、群组管理员、成员。
password段若是!或*,则表示改组无法登入,即无法用newgrp切换。
添加群组命令
groupadd -g/r groupname -g后面跟gid,加上-r 表示建立的是系统群组,即/etc/gshadow的第二栏会变成星号或叹号。
改动群组命令 :groupmod 类似与usermod。即——groupmod [-g gid] [-n group_name]
删除群组命令:groupdel groupname 。可是这个命令有些要注意的地方,由于某些情况下会失败,原因是还实用户的初始群组是该群组。所以要先解除这样的绑定,即改动该用户在/etc/passwd的gid或直接删除该用户。
八、其它命令
1)除了上面的groups能够查看群组的信息外,另一个id命令。能够查看很多其它信息,直接在终端输入id就好,不必加參数。
2)passwd命令 passwd [-lunxwS] username
-l :将 username 这个账号的password锁住 (lock),在 /etc/shadow 内的password栏修订~
-u :将 -l 的 lock 解开!
-n :后面接天数 (数字) ,最短天数;亦即是 /etc/shadow 内的第四栏;
-x :后面接天数 (数字) ,最长天数;亦即是 /etc/shadow 内的第五栏;
-w :后面接天数 (数字) ,警告天数;亦即是 /etc/shadow 内的第六栏;
-S :显示眼下这个 username 的相关信息。
Ubuntu下的用户和权限(三)