该内容来摘自于鸟叔的Linux私房菜。

Linux的每个用户包含两个ID,一个是用户ID,一个是用户组ID。系统会根据/etc/passwd和/etc/group的设定来决定用户的访问权限。下面对用户和用户组的常用命令进行说明。

  • /etc/passwd文件
$ grep 'dmtsai' /etc/passwd
monkey:x::::/home/monkey:/bin/bash

一共包含7个字段,以“:”分隔:

第一个为用户名;第二个 ”x“ 表示密码,密码被隐藏在/etc/shadow里面;第三和第四,503和504分别是UID(用户标识符)和GID(组标识符);第五段这里是空,表示用户信息说明。第六段是用户的$HOME文件夹; 最后一个是shell 路径。

  • /etc/group文件
$ head -n  /etc/group
root:x::root
bin:x::root,bin,daemon

一共包含4个字段,第一个是用户组名称,紧接着是密码,然后是用户组ID, 最终的是用户组包含的用户,以“,”分开。

另外一个关于用户组的很重要的概念是“初始用户组”和“有效用户组”。“初始用户组”顾名思义就是在创建用户的时候默认的用户组,于用户名同名。“有效用户组”指的是用户之后被加入的某个组。那么这里就存在一个问题,如果初始创建一个文件,怎么知道是否输入哪个组还是两个组都都有权限。这里就需要使用groups命令:

$ groups
monkey users

这里显示monkey用户属于monkey和users用户组。而第一个“monkey”表示的就是有效用户。那么当用户新建文件的时候,文件默认的权限就属于"monkey"这个用户组。如果需要修改有效用户组,可以通过newgrp命令:

$ newgrp users
$ groups
users monkey

OK, 有了以上的概念,下面可以进行账号管理了。这里只关心一下几个问题:

  • 如何创建用户,并且设置或者之后微调其用户组权限。
$ useradd [-u UID] [-g 初始用户组] [-G 次要用户组] 用户账号名
范例:
$ useradd -u -g users vbird2
$ ll -d /home/vbird2
drwx------ vbird2 users Feb : home/vbird2
另外,usermod可以微调用户权限,用法与useradd类似。 $ (sudo) usermod [-G 添加的用户组] [-a append到该用户组]
范例:
$ usermod -G wheel -a vbird2 // 将vbird2用户添加到wheel用户组中
  • 修改密码。自然是使用passwd命令,并且所有人都可以使用来修改命令。
  • 删除用户组。使用userdel命令。

Linux用户和用户组管理的更多相关文章

  1. Linux 用户和用户组管理

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

  2. 八、Linux 用户和用户组管理

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

  3. linux用户和用户组管理详解

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

  4. Linux 用户和用户组管理(useradd userdel groupadd groupdel)

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. Linux系统用户账户的 ...

  5. Linux用户和用户组管理总结

    Linux下和用户和用户组管理有关的配置文件: /etc/group Group account information. /etc/gshadow Secure group account info ...

  6. Linux 笔记 - 第五章 Linux 用户与用户组管理

    博客地址:http://www.moonxy.com Linux 是一个多用户的操作系统,在日常的使用中,从安全角度考虑,应该尽量避免直接使用 root 用户登录,而使用普通用户. 1. 关于用户 u ...

  7. Linux系列教程(十五)——Linux用户和用户组管理之用户管理命令

    上篇博客我们介绍了用户管理的相关配置文件,包括用户信息文件/etc/passwd,用户密码文件/etc/shadow:然后介绍了用户组信息文件/etc/group,用户组密码文件/etc/gshado ...

  8. Linux用户及用户组管理

    Linux是个优秀的多用户多任务操作系统. 掌握Linux的用户/用户组管理是基本及必备技能之一. 简单做下总结. 无论采用图形界面的用户管理设置,还是终端的管理方式,最终目的都是对系统的用户/用户组 ...

  9. Linux系列教程(十四)——Linux用户和用户组管理之相关配置文件

    前面我们介绍了软件包管理.首先介绍了rpm包的相关命令,但是我们发现直接安装rpm包会被其依赖性折磨的不行,然后解决办法是yum在线管理,通过yum命令安装rpm包能自动帮助我们解决依赖性.最后又介绍 ...

随机推荐

  1. Arduino入门笔记(4):用蜂鸣器演奏音乐并配有LED闪烁

    转载请注明:@小五义 http://www.cnblogs.com/xiaowuyi 欢迎加入讨论群 64770604 一.本次实验所需器材 1.Arduino板 https://item.taoba ...

  2. jqgrid 主键列的设定

    1.如果需要对jqgrid表格数据有互动操作,需要设定主键列. 2.主键列的作用为:在进行jqgrid表格数据交互(编辑.新增.删除行)时,是通过主键列的值来作为引导值来的. 3.注意:不要给一个jq ...

  3. Jupyter Notebook中让python2和python3内核共存

    自己计算机里面共存了Python2和Python3,ipython作为试探性的REPL解释器使用的频率还是挺高的,分别在2和3下安装完ipython notebook后怎么分别使用这两种内核呢 按照默 ...

  4. HBase启动时报错:/bin/java: No such file or directory6/bin/../bin/hbase: line 412: /usr/local/jdk1.8.0_152/bin/java

    今天在启动HBase时发现如下错误:/bin/java: No such file or directory6/bin/../bin/hbase: line 412: /usr/local/jdk1. ...

  5. 「PKUSC2018」最大前缀和 LOJ#6433&BZOJ5369

    分析: 这个题非常的棒,目测如果去了能AC... 我们考虑一个序列是如何构成的——一个后缀>0的序列,和一个前缀<0的序列 问题可以简化为求出当前缀和为状态S的所有数的和的时候,S满足后缀 ...

  6. MB_SELECT_GR_BLOCKED_STOCK 读取物料收货冻结库存

    MMBE 查询物料的当前库存,有一列是收货冻结库存(GR Blocked Stock),但是没有明细. 通过函数 MB_SELECT_GR_BLOCKED_STOCK 可以查询物料收货冻结库存的明细. ...

  7. 2017-2018 Exp8 Web基础 20155214

    目录 Exp8 Web基础 实验内容 建站过程 SQL注入 知识点 Exp8 Web基础 实验内容 实验环境 主机 Kali 靶机 Kali 实验工具 后台语言 'PHP' 服务器 'Apache' ...

  8. 20155227《网络对抗》Exp8 Web基础

    20155227<网络对抗>Exp8 Web基础 实验内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库. ...

  9. 20155321 《网络攻防》 Exp2 后门原理与实践

    20155321 <网络攻防> Exp2 后门原理与实践 实验内容 例举你能想到的一个后门进入到你系统中的可能方式? 我觉得人们在平时上网的时候可能会无意识地点击到一些恶意的网站,这些网站 ...

  10. SSIS 你真的了解事务吗?

    事务用于处理数据的一致性,事务的定义是,处于同一个事务中的操作是一个工作单元,要么全部执行成功,要么全部执行失败.把事务的概念应用到在实际的SSIS Package场景中,如何在Package中实现事 ...