Linux 用户篇——用户管理的配置文件
一、用户管理之配置文件的重要性
在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 用户篇——用户管理的配置文件的更多相关文章
- Linux 用户篇——用户管理命令之id、whoami、su、chage
一.浅谈id.whoami.su.chage 本篇是续写上一篇<Linux 用户篇——用户管理命令之useradd.passwd.userdel.usermod>. (1)id命令 命令格 ...
- Linux 用户篇——用户管理命令之useradd、passwd、userdel、usermod
一.用户重要,用户管理命令同样重要 用户是Linux系统安全的核心,每个登录Linux系统的用户都会分配相应的权限,这些权限取决于能否访问系统中各种对象.而管理这些用户的相关信息离不开用户管理命令,比 ...
- linux基础之用户和组管理及权限
一.用户和组管理 相关配置文件 /etc/passwd: 用户名 : 密码占位符 : UID : GID : COMMENTS : 家目录 :默认shell /etc/group: 组名 : 组密码占 ...
- Linux系列教程(十四)——Linux用户和用户组管理之相关配置文件
前面我们介绍了软件包管理.首先介绍了rpm包的相关命令,但是我们发现直接安装rpm包会被其依赖性折磨的不行,然后解决办法是yum在线管理,通过yum命令安装rpm包能自动帮助我们解决依赖性.最后又介绍 ...
- linux【第六篇】用户和用户管理及定时任务复习
定时任务复习 1.什么是定时任务? 2.如何编辑查看定时任务(配置文件位置?),语法的特殊字符意义是什么?- * , / 3.书写定时任务有哪些要领? 4.生产如何调试定时任务 5.生产场景配置定时任 ...
- java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理
我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...
- Linux操作系统常用命令合集——第二篇- 用户和组操作(15个命令)
一.前言:本篇介绍用户和组操作的15个命令,在介绍之前我们先来看看几个示例 1.先进入到etc目录下,找到passwd文件,用vi编辑器查看: # vi /etc/passwd 解释:这里面存放着Li ...
- Linux学习--4.用户和组的管理
用户和组的管理 前言 本篇文章主要讲Linux系统下用户和组的概念,还有添加用户和组,修改用户和组的基本操作,会涉及不少与之相关的配置文件与命令的介绍,几乎所有 正文 首先,简单提下概念,用户是操作系 ...
- linux 用户创建、管理、权限分配
(1)su与sudo su:通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证: sudo: sudo扮 ...
随机推荐
- 电子商务(电销)平台中财务模块(Finance)数据库设计明细
以下是自己在电子商务系统设计中的数据库设计经验总结,而今发表出来一起分享,如有不当,欢迎跟帖讨论~ 资金账户表 (finance_account)|-- 自动编号|-- 用户编号|-- 预付款 (ad ...
- Hive(五)hive的高级应用
一.视图 视图:享用基本表的数据,不会生成另外一份数据创建视图:create view view_name as select * from carss;create view carss_view ...
- Mac连接HDMI后没有声音
Mac连接HDMI后,会自动切换到HDMI设备进行发声,若HDMI设备没有声音,则不会发声.必须切换回内置扬声器才能有声音,或者拔出HDMI设备. 系统偏好设置 - 声音 - 输出 - 选择内置扬声 ...
- 【bzoj2006】【NOI2015】超级钢琴
2006: [NOI2010]超级钢琴 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 4292 Solved: 2195[Submit][Statu ...
- Linux之静态库与动态库20160706
所谓静态链接是指把要调用的函数或者过程链接到可执行文件中,成为可执行文件的一部分.当多个程序都调用相同函数时,内存中就会存在这个函数的多个拷贝,这样就浪费了宝贵的内存资源..so文件是共享库文件(动态 ...
- SpringMVC <mvc:view-controller path=""/>标签
<mvc:view-controller path=""/>标签的作用 对应WEB-INF目录下面的JSP页面,我们知道是不能直接使用URL访问到.需要通过转发的方式, ...
- Kubernetes的Endpoints
在之前的博文中,我们演示过如何通过ceph来实现kubernetes的持久存储,以使得像mysql这种有状态服务可以在kubernetes中运行并保存数据.这看起来很美妙,然而在实际的生产环境使用中, ...
- Jeson老师写的nginx切割脚本
#Jeson #Email:jeson@iaskjob.com #变量定义:access.error日志文件列表 NGINX_LOG=(imoocc_com_access iaskjob_com er ...
- (function($){})(jQuery)---Javascript的神级特性:闭包
function($){}实际上是匿名函数 这就定义了一个匿名函数,参数为arg function(arg){ //code } 而调用函数 时,是在函数后面写上括号和实参的,由于操作符的优先级,函数 ...
- ③ 设计模式的艺术-09.组合(Composite)模式
使用组合模式的场景 类图当中有三个类,一个是Component(节点的统一接口),它的目的是为了统一节点的操作.接下来的两个实现类,一个则是非叶子节点(Composite),它可以有子节点.另外一个则 ...