七、增删群组相关的命令

相同的我们要先介绍两个重要的设定档:/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下的用户和权限(三)的更多相关文章

  1. Ubuntu下的用户和权限(二)

    五.chown.chgrp命令 从名字就能够猜測他们是干嘛的,可是这两个命令须要root权限. chown命令的格式为:chown user:group file  中间的user : group三项 ...

  2. ubuntu下root用户默认密码及修改方法

    [ubuntu下root用户默认密码及修改方法] 很多朋友用ubuntu,一般都是装完ubuntu系统,马上就修改root密码了,那么root用户的默认密码是多少,当忘记root用户密码时如何找回呢, ...

  3. ubuntu下新建用户

    ubuntu下新建用户和RedHat系列的linux有点不一样 新建用户的命令是useradd,修改密码是passwd,如下: sudo useradd zhuhui sudo passwd 1234 ...

  4. ubuntu 下修改文件访问权限chmod 777 -R *血的教训!没事别乱开权限!用谁开谁的就行。。。最后不要用这个命令,文件操作全部改用终端

    本文转自: 个人建议 Ubuntu下修改目录权限命令如下:chmod 600 name (只有所有者有读和写的权限)chmod 644 name (所有者有读和写的权限,组用户只有读的权限)chmod ...

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

    ---恢复内容开始--- 第一部分:首先先在Ubuntu下安装好mongodb,步骤如下: 首先我们需要借助远程管理工具链接到阿里云上的ubuntu系统,接着进行如下操作 一.导出软件源的公钥 sud ...

  6. Ubuntu 下新建用户后无法sudo

    在ubuntu 下新建一个用户,然后发现无法使用sudo命令. sudo adduser test_username sudo passwd test_username # 这里就添加了一个用户,然后 ...

  7. kali下添加用户和权限分配

    1.添加用户 useradd -m test #-m的意思是创建用户的主目录 2.为用户test设置密码. passwd test 3.为添加的用户赋予权限(-a 添加 :-G 群组) 如果没有这一步 ...

  8. Ubuntu下搭建多用户多权限ftp

    #1.切换root用户模式 (已在root模式下的请忽略) sudo -i #然后提示你输入当前用户密码,输入密码后回车后如果密码正确控制台就变成root@***:/# 了. #2.更新软件源 apt ...

  9. MVC开发模式下的用户角色权限控制

    前提: MVC开发模式 大概思想: 1.在MVC开发模式下,每个功能都对应着不同的控制器或操作方法名(如修改密码功能可能对应着User/changepd),把每个功能对应的控制器名和操作方法名存到数据 ...

随机推荐

  1. Angular2之路由学习笔记

    目前工作中项目的主要技术栈是Angular2 在这里简单记录一下遇到的问题以及解决方案. 这篇笔记主要记录Angular2 的路由. 官方文档链接:https://angular.cn/docs/ts ...

  2. SwiftUI 官方教程(六)

    6. 在列表和详情之间设置导航 虽然列表已经能显示了,但是我们还不能通过点击单个地标来查看地标详情页面.SwiftUI教程 把 list 嵌入一个 NavigationView 中,并把每个 row  ...

  3. 查看 myeclipse激活状态

    查看激活状态  myeclipse-->subscription information

  4. Memcached 与 Redis 的关键性能指标比较

    性能对比: Redis 只使用单核,而 Memcached 可以使用多核,所以平均每一个核上 Redis在存储小数据时比 Memcached 性 能更高. 而在 100k 以上的数据中,Memcach ...

  5. CCS3的过渡、变换、动画以及响应式布局、弹性布局

    CSS3 过渡 .变换.动画 在没有CSS3之前,如果页面上需要一些动画效果,要么你自己编写 JavaScript,要么使用 JavaScript 框架(如 jQuery)来提高效率. 但是CSS3出 ...

  6. 关于iscroll.js插件的使用

    iscroll 作用: 可以让区域滚动效果好看一些 使用: 1. html结构 外面必须包一层盒子,切内部的元素要尽量简单,不然会影响滚动效果 <div id="wrapper&quo ...

  7. Android RecyclerView、ListView实现单选列表的优雅之路.

    一 概述: 这篇文章需求来源还是比较简单的,但做的优雅仍有值得挖掘的地方. 需求来源:一个类似饿了么这种电商优惠券的选择界面: 其实就是 一个普通的列表,实现了单选功能, 效果如图:  (不要怪图渣了 ...

  8. 关于安卓调用wcf的一些问题

    最近公司有个项目需要和别的系统做对接,对方开放的是webservice接口,搞了很久终于搞出来了,在此记录一下 获取数据的service public class SoapService implem ...

  9. 得到Xml中 元素的值

    <?xml version="1.0" encoding="utf-8" ?><Response service="RouteSer ...

  10. boost_1_63_0在Win10上VS2015编译

    装了个最新版的boost库,各种尝试,各种看网上的文章,然而就是没有编译成功.我真是哭晕在厕所. 最后还是自己老老实实啃官方文档.终于编出来了.下面记录下方法. 一·最简单的一种方法. 1.直接打开命 ...