https://www.jianshu.com/p/76700505cac4

1,Linux中的用户分类

超级用户:拥有对系统的最高管理权限,默认是root用户。

普通用户:只能对自己目录下的文件进行访问和修改,具有登录到系统的权限。

虚拟用户:这类用户最大的特点就是不能登录系统,他们的存在主要是方便系统管理,满足相应得进程对文件属主的要求。例如系统默认的bin.adm.nobody用户等,一般运行的是web服务,默认使用的是nobody用户,但是nobody用户是不被允许登录系统的。

2,用户组的概念

用户组是具有相同特征用户的逻辑集合。又是我们需要让多个用户有相同的权限,比如查看修改某个文件的权限,一种方法就是对多个用户进行访问授权,如果有10个用户的话,就要授权10次。显然这种方法不太合理。另一种方法就是建立一个组,让这10个用户放在同一个组中,同时授权这个组有查看,修改这个文件的权限。这就是用户组,Linux将用户分组是Linux对用户进行管理及访问控制权限的一种手段,通过定义用户组,很大程度上简化了管理工作。

3,用户与用户组的关系

一对一:一个用户存在一个组中,即这个用户是这个组的唯一成员。

一对多:一个用户可以存在多个用户组中,用户有多个用户组的权限。

多对一:多个用户可以存在一个用户组中,这些用户具有和组一样的权限。

多对多:多个用户可以存在多个组中。

4,用户和组的配置文件

(1)/etc/passwd/文件,记录了系统每个用户的属性。

格式:“用户名:口令:用户标识号:组标识号:注释描述:主目录:默认shell”

含义:用户名:代表用户账号的字符串。

口令:存放着加密后的用户口令,这个字段存放的只是用户口令的加密串,不是明文。但是/etc/passwd/文件所有用户都可以读,所以这是个安全隐患,所以许多Linux版本中使用shadow技术,把真正加密后的用户口令存放在/etc/shadow/中,而在/etc/passwd/文件中用x或者*代替。

用户标识号:就是用户的UID,每个用户都有一个UID,并且是唯一的。通常UID的取值范围为0~65535。0是超级用户root的标识号,1~99由系统保留,作为管理账号。普通用户是从100开始的,而Linux中默认是从500开始的。UID是Linux下确认用户权限的标志,用户的角色和权限都是通过UID来实现的。因此多个用户共用一个UID是很危险的,会造成系统管理和权限的紊乱。

组标识号:就是组的GID,与用户的UID类似,这个字段记录了用户所属的用户组,它对应着/etc/group/文件中的一条记录。

注释描述:是对用户的描述信息,比如电话,住址,姓名等等。

主目录:是用户登录到系统之后默认的目录。

默认shell:用户登录到系统后默认使用的命令解释器,shell是用户和Linux内核之间的接口,用户所做的任何操作,都是通过shell传递给系统内核的。Linux下常用的shell有:sh,bash,csh等。管理员可以根据用户的习惯,为用户设置不同的shell。

 

例子:

6,/etc/shadow/文件

/etc/shadow/文件:用户加密咨询文件,该文件只有root用户拥有读权限,从而保护了密码的安全性。

格式:“ 用户名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留字段”

含义:

用户名:与/etc/passwd/文件中的用户名有相同的含义。

加密口令:存放的是用户口令加密后的字符串,如果此字段是*!x这三个字符,则对应的用户不能登录系统。

最后一次修改时间:表示从某个时间起,到最近一次修改口令的间隔天数。可以通过passwd来修改密码,然后查看/etc/shadow/来查看此字段的变化。

最小时间间隔:表示两次修改密码之间的最小时间间隔。

最大时间间隔:表示两次修改密码之间的最大时间间隔,这个设置能增强管理员管理用户的时效性。

警告时间:表示系统开始警告用户到密码正式失效的天数。

不活动时间:此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统不再让此用户登录,也不会提示用户过期,是完全禁用。

失效时间:表示该用户的帐号生存期,超过这个设定时间,帐号失效,用户就无法登录系统了。如果这个字段的值为空,帐号永久可用。

保留字段:linux的保留字段,目前为空,以备linux日后发展之用。

 

7,/etc/group/文件

用户组信息文件,保存用户组的信息。

格式:“组名:口令:组标识号:组内用户列表”

组名:是用户组的名称,由字母或数字构成。与/etc/passwd中的用户名一样,组名不能重复。

口令:存放的是用户组加密后的口令字串,密码默认设置在/etc/gshadow文件中,而在这里用“x”代替,linux系统下默认的用户组都没有口令,可以通过gpasswd来给用户组添加密码。

组标识号:就是GID,与/etc/passwd中的组标识号对应。

组内用户列表: 显示属于这个组的所有用户,多个用户之间用逗号分隔。

 
 

8,/etc/gshadow/文件

用户组加密咨询文件,保存了用户组密码的一类信息,/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码。

格式:“组名:口令:组管理者:组成员”

含义:

组名:用户组名称

口令:存放的是用户组密码的加密口令,如果是空的或者是!表示没有密码。

用户组管理者:也可以为空,如果有多个管理这,之间用','隔开。

组成员:如果有多个成员用','隔开。

 

8,其他目录和文件

(1)etc/login.defs文件

用来定义创建一个用户时的默认设置,比如指定用户的UID和GID的范围,用户的过期时间、是否需要创建用户主目录等等。

下面是rhel5下的/etc/login.defs文件,简单介绍如下:

MAIL_DIR /var/spool/mail

当创建用户时,同时在目录/var/spool/mail中创建一个用户mail文件

PASS_MAX_DAYS 99999

#指定密码保持有效的最大天数

PASS_MIN_DAYS 0

表示自从上次密码修改以来多少天后用户才被允许修改口令

PASS_MIN_LEN 5

指定密码的最小长度

PASS_WARN_AGE 7

表示在口令到期前多少天系统开始通知用户口令即将到期

UID_MIN 500

指定最小UID为500 ,也就是说添加用户时,用户的UID 从500开始

UID_MAX 60000

指定最大UID为60000

GID_MIN 500

指定最小GID为500,也就是添加组时,组的GID从500开始。

GID_MAX 60000

指定最大GID为60000

CREATE_HOME yes

此项是指定是否创建用户主目录,yes为创建,no为不创建。

(2)/etc/skel目录

/etc/skel目录定义了新建用户在主目录下默认的配置文件,更改/etc/skel目录下的内容就可以改变新建用户默认主目录的配置文件信息,例如创建一个新用户后,会在新用户的主目录下看到类似.bash_profile, .bashrc, .bash_logout等文件,这些文件就是存在于/etc/skel目录下的。

(3)/etc/default/useradd文件

useradd 添加用户时的规则文件,当我们通过useradd命令不加任何参数创建一个用户后,用户默认的主目录一般位于/home下,默认使用的shell是/bin/bash,这些都是在/etc/default/useradd文件中定义的。更改此文件可以更改添加用户的默认配置,除此方法外还可以通过adduser命令的参数来实现。

内容如下:

GROUP=100

HOME=/home :把用户的家目录建在/home中

INACTIVE=-1 :是否启用帐号过期停权,-1表示不启用

EXPIRE= :帐号终止日期,不设置表示不启用

SHELL=/bin/bash :所用SHELL的类型

SKEL=/etc/skel :默认添加用户的目录默认文件存放位置;也就是说,当我们用adduser添加用户时,用户家目录下的文件,都是从这个目录中复制过去的

[转帖]Linux中的用户和用户组的更多相关文章

  1. Linux中的用户和用户组

      在Linux中,有三种用户: Root 用户:也称为超级用户,对系统拥有完全的控制权限.超级用户可以不受限制的运行任何命令.Root 用户可以看做是系统管理员. 系统用户:系统用户是Linux运行 ...

  2. linux 中更改用户权限和用户组的命令chmod,chgrp实例

    linux 中更改用户权限和用户组的命令实例; 增加权限给当前用户 chmod +wx filename chmod -R 777 /upload 用户组 chgrp -R foldname zdz ...

  3. Linux下的用户和用户组,文件权限:chown和chmod

    如下图所示,root权限下新建一个用户MasterBai, /etc/passwd文件中新加入一些信息 这个文件中,记录了该服务器的用户信息,如下图红色框起来的用户,就是我们自己创建的用户,而起来2- ...

  4. linux基础之用户及用户组管理

    本节内容 用户管理 1. 为什么需要用户? 1.linux是一个多用户系统 2.权限管理(权限最小化) 2. 用户相关文件 /etc/passwd -->用户基本信息 /etc/shadow - ...

  5. Linux中加入用户、删除用户时新手可能遇到的问题

    Linux中加入用户.删除用户时新手可能遇到的问题  1.创建新用户后切换到新用户:No directory, logging in with HOME=/     加入用户     #sudo us ...

  6. Linux中切换用户变成-bash4.1-$的解决方法【转】

    转自 Linux中切换用户变成-bash4.1-$的解决方法 - xia_xia的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/xia_xia0919/articl ...

  7. 6-查看centos中的用户和用户组

    转载自:http://www.cnblogs.com/ermao0423/p/9510636.html 查看centos中的用户和用户组 1.用户列表文件:/etc/passwd/ 2.用户组列表文件 ...

  8. 查看centos中的用户和用户组和修改密码

    查看centos中的用户和用户组 1.用户列表文件: vim /etc/passwd/ 2.用户组列表文件: vim /etc/group 3.查看系统中有哪些用户: cut -d : -f /etc ...

  9. Linux中root用户找不到JAVA_HOME

    Linux中root用户找不到JAVA_HOME   在Ubuntu环境中安装好Java环境后设置环境变量:在/etc/profile中设置好了JAVA_HOME变量并引入到PATH中,用于Ubunt ...

  10. linux中的用户、群组和权限

     linux中的用户.群组和权限   新建用户natasha,uid为1000,gid为555,备注信息为“master”   groupadd -g 555 natasha useradd -u 1 ...

随机推荐

  1. 记录:excel导入导出js-xlsx,处理合并

    效果 前情提要 后端传excel坐标数据,前端自己处理模板,找资料后,选择直接载入xlsx方式. 准备工作 npm i xlsx import * as XLSX from 'xlsx' 方法一:数据 ...

  2. GaussDB(DWS)集群中寻找节点CPU占用高的语句

    摘要:本文主要通过实例讲解如何通过gs_cpuwatcher.sh 脚本寻找CPU占用高语句. 本文分享自华为云社区<GaussDB(DWS) gs_cpuwatcher.sh 脚本如何寻找CP ...

  3. 初识GaussDB(for Cassandra)

    摘要:GaussDB(for Cassandra)是一款基于华为自主研发的计算存储分离架构的分布式云数据库服务. "local quorum查询某个分区键的条数,每次查询,条数都不一样.&q ...

  4. 关于HTTPS认证,这里解决你所有疑惑

    摘要:从签发证书到数据加密交互,按流程的进展讲解HTTPS认证过程内容和原理. 本文分享自华为云社区<故事+图文,一次性解决你对HTTPS认证过程的所有疑惑>,作者:breakDraw. ...

  5. 性能提升-如何设置Windows操作系统TIME_WAIT状态的TCP连接快速回收时间?

    大规模Windows环境下,采用Nginx反向代理服务后,操作系统会产生较多TIME_WAIT的TCP(Transmission Control Protocol)连接,操作系统默认TIME_WAIT ...

  6. Linux 创建新用户

    添加用户组[root@VipSoft ~]#groupadd admin 添加用户[root@VipSoft ~]#useradd jimmy -m -d /home/jimmy -g admin 修 ...

  7. 一个神奇的Python库:Evidently,机器学习必备

    Evidently 是一个面向数据科学家和机器学习工程师的开源 Python 库.它有助于评估.测试和监控从验证到生产的数据和 ML 模型.它适用于表格.文本数据和嵌入. 简介 Evidently 是 ...

  8. mysql--read only

    问题背景: 1.在进行数据迁移和从库只读状态设置时,都会涉及到只读状态和Master-Slave主从关系设置 2.数据库参数文件默认是只读,重启数据库服务时 解决方法: 1.在my.cnf配置文件中添 ...

  9. 【每日一题】2.合并回文子串 (字符串处理 + 区间DP)

    题目链接:Here 遇到这种数据范围较小的计数问题应该优先考虑dp,本题就是如此. 那么应该怎么样考虑转移呢? 首先最后C中的那个价值最大的子串一定是由字符串A的一个区间和字符串B的一个区间合并得到的 ...

  10. vivo 悟空活动中台-基于行为预设的动态布局方案

    本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/CwLAV2j7Uxam01m1p7cXxg作者:悟空中台研发团队 [悟空活动中台]系列往期精彩 ...