一、用户管理之配置文件的重要性

  在Linux系统中,用户账户的相关信息是存放在相关配置文件中。而Linux安全系统的核心是用户账号,用户对系统中各种对象的访问权限取决于他们登录系统时用的账户,并且Linux系统使用特定的配置文件和工具来跟踪和管理系统中的用户账户。

二、说说配置文件

  这里讲述的配置文件分为用户配置文件和用户组配置文件,比如/etc/passwd和/etc/shadow是用户配置文件,/etc/group和/etc/gshadow是用户组配置文件。

  (1)首当其冲要讲讲/etc/passwd文件,该文件位于/etc目录下。/etc/passwd是一个标准的文本文件,你可以用任何的文本编辑器修改该文件的内容。如果/etc/passwd文件出现损坏,系统就无法读取它的内容了,这样会导致用户无法正常登录,只用重装Linux系统解决了。/etc/passwd文件包含了一些与用户相关的信息,将用户的登录名匹配对应的UID值。UID即User ID,拥有创建权限的用户创建用户时会分配唯一的用户ID,UID是数值但在登录系统时用的不是UID,而是登录名。

  如2-1图所示,/etc/passwd文件的部分信息。每一行就是用户账户的相关信息,每一行包含7个字段的信息:

    第1个字段:用户名称,即登录名。

    第2个字段:密码标志。该字段都被设置成了x,并不是说所有的用户账户都用相同的密码,这只是一个密码标志而已,用户有无密码都会被设置成x。

    第3个字段:UID,即用户ID(User ID)。其中0用来标记超级用户,比如root用户,如果手动更改某一个用户的UID为0,那该用户也会拥有超级用户的权限。1-499这个范围用来标记系统用户,这些用户俗称伪用户是系统上运行的各种服务进程访问资源用的特殊账户,所有运行在后台的服务都需要用一个系统用户账户登录到Linux系统上。500-65535这个范围用户来标记普通用户,比如新创建的用户的UID值就会在这个范围内。

    第4个字段:GID,即用户组的ID(用户初始组的ID)。这里的用户组分为初始组和附加组,初始组就是指用户一登录就立刻拥有这个用户组的相关权限,每个用户的初始组只能有一个,一般就是与这个用户的用户名相同的组名作为这个用户的初始组。附加组就是指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。

    第5个字段:用户说明,就是用户的相关描述。

    第6个字段:用户的HOME目录的位置。普通用户的HOME目录一般都是/home/用户名/这样的形式,root用户的HOME目录是/root/。

    第7个字段:登录之后的shell。

    

                                图 2-1

  (2)其次是/etc/shadow文件位于/etc目录下,该文件是保存密码相关信息。只有root用户才能访问这个文件,如果root用户编辑了该文件,有可能被更改的用户就登录不上。使用shadow密码系统后,Linux系统可以更好地控制用户密码。它可以控制用户多久更改一次密码,以及什么时候禁用该用户,如果密码未更新的话。

  如图2-2所示,在/etc/shadow文件中,系统为每个用户都保存了一条记录,每条记录都有9个字段:

    第1个字段:用户名,即登录名。

    第2个字段:加密之后的密码,使用SHA512散列加密算法进行加密。如果密码字段位是"!!"或"*"代表没有密码,不能登录。

    第3个字段:密码最后一次的修改日期(天数表示),使用1970年1月1日作为标准时间,每过一天时间戳加1。

    第4个字段:两次密码的修改时间间隔(和第3个字段相比)。

    第5个字段:密码有效期(和第3个字段相比)。

    第6个字段:密码到期前的警告天数(和第5个字段相比)。

    第7个字段:密码到期后多少天禁用用户。

    第8个字段:用户被禁用的日期(用天数表示),使用1970年1月1日作为标准时间,每过一天时间加1。

    第9个字段:预留字段给将来使用。

    

                                 图 2-2

  (3)用户组的配置我就不细说了,跟用户的配置文件大同小异。接下来说说用户模板目录/etc/skel/,用户模板目录是作为创建新用户HOME目录的模板。这样就能自动在每个新用户的HOME目录放置默认的系统文件。

Linux 用户篇——用户管理的配置文件的更多相关文章

  1. Linux 用户篇——用户管理命令之id、whoami、su、chage

    一.浅谈id.whoami.su.chage 本篇是续写上一篇<Linux 用户篇——用户管理命令之useradd.passwd.userdel.usermod>. (1)id命令 命令格 ...

  2. Linux 用户篇——用户管理命令之useradd、passwd、userdel、usermod

    一.用户重要,用户管理命令同样重要 用户是Linux系统安全的核心,每个登录Linux系统的用户都会分配相应的权限,这些权限取决于能否访问系统中各种对象.而管理这些用户的相关信息离不开用户管理命令,比 ...

  3. linux基础之用户和组管理及权限

    一.用户和组管理 相关配置文件 /etc/passwd: 用户名 : 密码占位符 : UID : GID : COMMENTS : 家目录 :默认shell /etc/group: 组名 : 组密码占 ...

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

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

  5. linux【第六篇】用户和用户管理及定时任务复习

    定时任务复习 1.什么是定时任务? 2.如何编辑查看定时任务(配置文件位置?),语法的特殊字符意义是什么?- * , / 3.书写定时任务有哪些要领? 4.生产如何调试定时任务 5.生产场景配置定时任 ...

  6. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理

    我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...

  7. Linux操作系统常用命令合集——第二篇- 用户和组操作(15个命令)

    一.前言:本篇介绍用户和组操作的15个命令,在介绍之前我们先来看看几个示例 1.先进入到etc目录下,找到passwd文件,用vi编辑器查看: # vi /etc/passwd 解释:这里面存放着Li ...

  8. Linux学习--4.用户和组的管理

    用户和组的管理 前言 本篇文章主要讲Linux系统下用户和组的概念,还有添加用户和组,修改用户和组的基本操作,会涉及不少与之相关的配置文件与命令的介绍,几乎所有 正文 首先,简单提下概念,用户是操作系 ...

  9. linux 用户创建、管理、权限分配

    (1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...

随机推荐

  1. Linux系统启动详解(一)

    本篇主要以Centos为例,讲述整个Linux系统启动过程,包括了grub引导,initramfs流程,/sbin/init执行rc.sysinit及rc的大体流程. 另外,本篇有一个实例来说明,将整 ...

  2. 【bzoj4198】【Noi2015】荷马史诗

    4198: [Noi2015]荷马史诗 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 2200  Solved: 1169[Submit][Statu ...

  3. 【字符串】manacher算法

    Definition 定义一个回文串为从字符串两侧向中心扫描时,左右指针指向得字符始终相同的字符串. 使用manacher算法可以在线性时间内求解出一个字符串的最长回文子串. Solution 考虑回 ...

  4. web项目引用tomcat中的jar

    web项目引用tomcat中的jar https://blog.csdn.net/zjsdrs/article/details/77868827 如下图所示

  5. UESTC--1730

    原题链接:http://acm.uestc.edu.cn/problem.php?pid=1730 分析:线段树单点更新,区间求和. #include<iostream> #include ...

  6. bzoj 3209 bzoj1799 数位dp

    3209: 花神的数论题 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 2267  Solved: 1040[Submit][Status][Disc ...

  7. python基础--文件操作实现全文或单行替换

    python修改文件时,使用w模式会将原本的文件清空/覆盖.可以先用读(r)的方式打开,写到内存中,然后再用写(w)的方式打开. 替换文本中的taste 为 tasting Yesterday whe ...

  8. HTTP、TCP、 UDP、 IP 、 Socket的关系

    TCP和UDP协议是传输协议,IP是网络层协议.传输协议和网络层协议主要解决数据如何在网络中传输,或者说TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准.TCP负责发现传输 ...

  9. Tensorflow Batch normalization函数

    Tensorflow Batch normalization函数 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 stackoverflow上tensorflow实现BN的不同函数的 ...

  10. NAIPC2018-K-Zoning Houses

    题目描述 Given a registry of all houses in your state or province, you would like to know the minimum si ...