该内容来摘自于鸟叔的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. Scala学习之路 (二)使用IDEA开发Scala

    目前Scala的开发工具主要有两种:Eclipse和IDEA,这两个开发工具都有相应的Scala插件,如果使用Eclipse,直接到Scala官网下载即可http://scala-ide.org/do ...

  2. Django使用AJAX调用自己写的API接口

    Django使用AJAX调用自己写的API接口 *** 具体代码和数据已上传到github https://github.com/PythonerKK/eleme-api-by-django-rest ...

  3. P2014 选课

    题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习.现在有N门功课,每门课有个学分,每门课有一 ...

  4. 如何高效的通过BP算法来训练CNN

    < Neural Networks Tricks of the Trade.2nd>这本书是收录了1998-2012年在NN上面的一些技巧.原理.算法性文章,对于初学者或者是正在学习NN的 ...

  5. OpenShift-OKD3.10基础环境部署

    单master + 双node 1.主机角色划分 #采用双网段部署 0 网段是opesnshift内部通信IP,1 网段是连接外网通信地址 #master master.example.com 192 ...

  6. Scala--集合

    一.主要的集合特质 Seq有先后顺序的序列,如数组列表.IndexedSeq通过下标快速的访问元素.不可变:Vector, Range, List 可变:ArrayBuffer, LinkedList ...

  7. 03-Python执行方式和Pycharm设置

    https://www.python.org/ 单词列表 * error 错误 * name 名字 * defined 已经定义 * syntax 语法 * invalid 无效 * Indentat ...

  8. ASP HUOSHAN VIDEO

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  9. pygame 入门实例

    本文基于win7(64) + py3.5(64)环境. 本文是这里的一篇学习笔记.加入了自己的理解. 本文最终目的是实现一个飞机躲避导弹的游戏. 1.核心概念 pygame 的核心概念有: Surfa ...

  10. 11.10 (上午)开课二个月零六天(ajax基础,ajax做登录)

    test.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...