Ubuntu下的用户和权限(三)

七、增删群组相关的命令

同样的我们要先介绍两个重要的设定档:/etc/group和/etc/gshadow,前面那个其实和/etc/passwd一样,而后者就是群组的密码表了。先看看长啥样:

root:x:0:

adm:x:4:m,syslog

m:x:1000:

这是截取的/etc/group的一部分,每行被冒号分成四段,第一段是群组名;第二段是密码; 第三段是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的一部分,每行也是被冒号分成四段,分别是群组名、密码、群组管理员、成员。密码段若是!或*,则表示改组无法登入,即无法用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 这个账号的密码锁住 (lock),在 /etc/shadow 内的密码栏修订~

-u :将 -l 的 lock 解开!

-n :后面接天数 (数字) ,最短天数;亦即是 /etc/shadow 内的第四栏;

-x :后面接天数 (数字) ,最长天数;亦即是 /etc/shadow 内的第五栏;

-w :后面接天数 (数字) ,警告天数;亦即是 /etc/shadow 内的第六栏;

-S :显示目前这个 username 的相关信息。

Ubuntu下的用户和权限(三)

时间: 2024-12-08 14:58:45

Ubuntu下的用户和权限(三)的相关文章

Ubuntu下的用户和权限

一.基础 在某个目录下使用命令"ls -l"可以得到该目录下文件的详细信息如,如: -rw-------  1 m    m     30509  7月  8 00:26 .xsession-errors.old drwxr-xr-x  2 m    m      4096  4月 15 19:59 公共的/ drwxr-xr-x  2 m    m      4096  4月 15 19:59 模板/ drwxr-xr-x  2 m    m      4096  5月  9 09:

Ubuntu下的用户和权限(二)

五.chown.chgrp命令 从名字就可以推测他们是干嘛的,但是这两个命令需要root权限. chown命令的格式为:chown user:group file  中间的user : group三项可以根据需要省略某部分.比如现在有个文件file属于用户bob,bob的权限是rwx,而bob属于组group1,group1的权限是r.有另外一个用户jack属于group2. chown jack file 这就把file的woner从bob改成了jack,但是file所属的群组仍然是group

ubuntu 下修改文件访问权限chmod 777 -R *

本文转自: 个人建议 Ubuntu下修改目录权限命令如下:chmod 600 name (只有所有者有读和写的权限)chmod 644 name (所有者有读和写的权限,组用户只有读的权限)chmod 700 name (只有所有者有读和写以及执行的权限)chmod 666 name (每个人都有读和写的权限)chmod 777 name (每个人都有读和写以及执行的权限) 其中 name 指文件名,也可以是目录名. 整个命令的形式是chmod ×××(所有者)×××(组用户)×××(其他用户)

阿里云Ubuntu下安装、配置权限和导入本地mongodb

---恢复内容开始--- 第一部分:首先先在Ubuntu下安装好mongodb,步骤如下: 首先我们需要借助远程管理工具链接到阿里云上的ubuntu系统,接着进行如下操作 一.导出软件源的公钥 sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 二.为mongodb创建软件源list文件 ubuntu12.04版本 echo "deb http://repo.mongodb.org/apt/ubun

linux用户及权限(三)

权限管理: r,w,x 三类用户: u:属主 g:属组 o:其他用户 chown:改变文件属主(只有管理员可以使用此命令) # chown USERNAME file,... -R:修改目录及其内部文件的属主 --reference=/path/to/somefile file,... chown USERNAME:GRPNAME file... chown USERNAME.GRPNAME file,... # chgrp GRPNAME file,... -R --reference=/pa

ubuntu下普通用户使用wireshark的权限问题

解决方法如下: 1.添加wireshark用户组 sudo groupadd wireshark 2.将dumpcap更改为wireshark用户组 sudo chgrp wireshark /usr/bin/dumpcap 3.让wireshark用户组有root权限使用dumpcap sudo chmod 4755 /usr/bin/dumpcap 4.将需要使用的用户名加入wireshark用户组 sudo gpasswd -a soldier wireshark 注:我的用户名是sold

ubuntu 下root用户无法访问声音设备的解决方案

原因:root用户没有对pulsaudio的访问权限,而且pulsaudio默认是不能在root下自动启动解决办法: 一.修改自动启动:编辑 gedit /etc/default/pulseaudio,将下面两项改为和下面的一样PULSEAUDIO_SYSTEM_START=1DISALLOW_MODULE_LOADING=0                          二.添加权限:将root分别添加到pulse组和pulse-access组,不添加的话是没有权限访问声音设备的gpass

ubuntu下修改文件夹权限

常用方法如下: sudo chmod 600 ××× (只有所有者有读和写的权限)sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)sudo chmod 666 ××× (每个人都有读和写的权限)sudo chmod 777 ××× (每个人都有读和写以及执行的权限) 其中×××指文件名(也可以是文件夹名,不过要在chmod后加-ld). 解释一下,其实整个命令的形式是sudo chmod

【转】ubuntu下修改文件夹权限

常用方法如下: sudo chmod 600 ××× (只有所有者有读和写的权限)sudo chmod 644 ××× (所有者有读和写的权限,组用户只有读的权限)sudo chmod 700 ××× (只有所有者有读和写以及执行的权限)sudo chmod 666 ××× (每个人都有读和写的权限)sudo chmod 777 ××× (每个人都有读和写以及执行的权限) 其中×××指文件名(也可以是文件夹名,不过要在chmod后加-ld). 解释一下,其实整个命令的形式是sudo chmod