七、增删群组相关的命令

相同的我们要先介绍两个重要的设定档:/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. php获取uniqid

    md5(uniqid(microtime(true),true))

  2. [ASP.Net] MVC2,3,4,5的不同

    现在MVC的技术日趋成熟,面对着不同版本的MVC大家不免有所迷惑 -- 它们之间有什么不同呢?下面我把我搜集的信息汇总一下,以便大家能更好的认识不同版本MVC的功能,也便于自己查阅. View Eng ...

  3. 用fiddler不能抓取https及证书无法导出

    本次说的不是首次安装fiddler 1.不管有没有安装成功,先查看有没有安装过证书,有的话删除,重新进行安装 打开fiddler,找到Tools-HTTPS-Athons-Open windows C ...

  4. 一起学Android之Fragment

    概述 本文以一个简单的小例子,简述在Android开发中,Fragment的常见用法,仅供学习分享使用,如有不足之处,还请指正. 什么是Fragment? Fragment代表一个功能或者用户界面的一 ...

  5. JavaScriptResult

  6. SourceInsight3.5 Space 替换Tab

    # SourceInsight3.5 Space 替换Tab 公司要求所有的缩进都要使用空格,而不是Tab.至于使用Tab,还是Space来进行缩进,这在网上有各种各样的讨论,毕竟使用Tab可以节省很 ...

  7. Java数组的运用

    Java数组 应用1: 大乐透彩票模拟器: 规则: 前区01-35中随机生成5个号码 后区01-12中随机生成2个号码 模拟操作,系统自动生成号码组合,并且按从小到大的顺序输出结果 同时要求可以选择生 ...

  8. (转)RabbitMQ学习之路由(java)

    http://blog.csdn.net/zhu_tianwei/article/details/40887755 参考:http://blog.csdn.NET/lmj623565791/artic ...

  9. SpringMVC(五)@RequestHeader和@CookieValue

    通过使用@RequestHeader获取请求头 通过使用@CookieValue获取cookie值 代码: 1: @Controller 2: public class TestHeader_Cook ...

  10. 简明git教程(单人版本)

    最近开始写一个比较大的东西,所以需要用到git,之前一直在用金山快盘和乌龟搭建的SVN,最近想尝试一下git 1.安装 Ubuntu: sudo apt-get install git 老版本的Ubu ...