文档章节

linux帐号管理详解:/etc/passwd 和/etc/shadow

lisn
 lisn
发布于 2015/03/27 10:21
字数 1584
阅读 931
收藏 7

1、/etc/passwd (帐号重要参数文件), 来cat /etc/passwd看一下:

 

      乍看一下觉得这东西很深奥, 于是就放弃了. 那你就完蛋了. 这不是一个好习惯 , 其实很多事情只是看似很难, 如果你静下心来去了解它, 你会发现他真的能走进你的心扉! 呵呵.

你有没有发现它是有规律的, 有很多行, 并且每行的用:分隔成了几字段, 那到底是几个字段呢, 是7个.

其实这个文件的每一行都代表一个帐号(用户), 有多少行就说明系统中有多少个用户, 不由得产生了一个问题, 那7个字段又都是什么意思呢? 接下来我们来解释一下这7个字段

第一字段  帐户名称. 如root(超级管理员)

第二字段  X (先以为他是就X好吧)

第三字段  UID(用户的ID, 这东西对于系统来说非常重要, 有人问了不是有用户名吗为什么还有个狗P"UID", 其实对于系统来说他只认识这个UID, 用户名只是提供给我们看的, 方便好记, 仅此而已)

第四字段  GID(群组的ID, 这东西对于系统来说非常重要, 有人问了不是有群组名吗为什么....此处省略十几字, 意思同上, 其实也没省下.呵呵)

第五字段  用户备注信息说明列 (就是帐号的备注信息,比如这个帐号干什么用的.为什么建这帐号什么地)

第六字段  用户的HOME目录; 如:/home/www

第七字段  Shell  (用户登录后取得的shell环境, 一般默认为/bin/bash, 注意:如果你想建立一个帐号但却又不想让他登录到系统,那这里就起到作用了. 你只需把这栏设置成/sbin/nologin, 细心的朋友可能注意到了/etc/passwd 文件下很多的系统用户这栏都是/sbin/nologin)

2、/etc/shadow:

为什么要说到这个文件呢, 这就需要从我们使用帐号登录系统说起了,  其实我们的登录流程是这样的:

以下我们以用户echo来举例.

1.根据输入的用户名去/etc/passwd中寻找echo这个用户, 如果用户不存在直接登录失败. 否则就会拿到UID, GID, 以及这个用户拥有的SHELL环境等.

2.每二步在则是来到/etc/shadow文件中核对用户输入的密码是否与echo这个用户名密码相同. 如果相同才能登录系统.

还记得/etc/passwd 中的每个字段"X"吗. 这个X处在早以前是用来存放用户密码的, 后来因为安全性的问题把用户的密码提到了/etc/shadow中. 所以/etc/shadow这个文件的主要作用就是存放用户的口令, 用户登录系统时来这里验证. /etc/shadow文件与/etc/passwd文件格式几乎是一样的, 唯一的区别是/etc/shadow把每一行分为9个字段.

 

第一字段  帐户名称 (与/etc/passwd保持一致)

第二字段  帐户口令(即密码, 加密过的所以是一串字符)

第三字段  最近一次修改的日期  

每四字段  密码多久之内不能被修改, 以天为单位

第五字段  口令需要变更的天数 (出于安全考虑, 可以这样设置,强制用户多久换一次密码)

第六字段  口令变更前的提醒天数(根据第五个字段, 前多少天提醒用户去修改口令)

第七字段  口令过期后的宽限时间(即第五字段过期后还可以宽限的天数, 过了这个天数帐号就会默认为失效了)

第八字段  帐号失效日期(帐号如果超出这个设置后就会失效, 通过用在收费服务中, 或者我们的后台任务当时, 任务完成帐号失效等)

第九字段  保留字段, 目前无实际应用

用户的相关文件说完了. 你是否明白了. 如果你明白了, 接下来我们来看看操作帐号的几个相关命令:

.useadd(添加)

格式:useradd [-u UID] [-g 初始化群组] [-G 次要群组] [-mM] [-c 帐号说明栏] [-d 家目录绝对路径] [-s shell] 帐号名称

选项与参数

-u  指定UID, 可以省略该选项, 系统会自动分配一个UID

-g  初始化群组, 不指定默认创建新的群组, 群组名与帐号名称相同

-G  次要的群组, 可以指定该帐号的所属的其它群组,多个用,分开, 如-G g1,g2,g3

-c  帐号的备注信息

-m  创建-d后指定的目录, 此为默认项

-M  不创建-d后指定的目录

-d  该用户的home目录

-s  shell脚本环境, 默认为/bin/bash

如题: 我们创建一个test用户,并且创建家目录为/home/test, 设置次要群组为apache, 帐号备注为this is apache user

useradd -c'this is apache user' -Gapache -d'/home/test' -m test

 

.usermod(修改)

选项与参数,  大部分参数与useradd是一样的. 这里我只简单介绍向个附加的参数

-l   后接新的帐号名称, 意思是修改帐号名称

-L  暂时冻结该帐号, 让帐号无法登录, 修改/etc/shadow的第二栏为!, 即用户口令栏,

-U  与-L相反, 解冻帐号, 使帐号恢复正常使用

用法与useradd相同

.userdel(删除)

选项与参数

-r  连同用户的HOME目录一同删除

如userdel -r test 将删除test用户, 并且将/home目录下的test目录一并删除.

linux下的命令一般都会有好多参数, 想记住是非常困难的. 这里也只是简单的介绍了一些常用的. 详细的还需要我们用到的时候去查看, 比如可以用man usermod 来查看该命令的相关参数与说明.  学习不是一个简单的事情, 摆正心态,日积月累,勤加练习相信定有所获.

© 著作权归作者所有

共有 人打赏支持
lisn
粉丝 1
博文 36
码字总数 20700
作品 0
普陀
高级程序员
私信 提问
Linux帐号管理详解

一、前言 对于Linux管理者来说,“帐号管理”是再也普通不过的一个环节了,但每次都要去查一大本的手册实在是很浪费时间。我还是老老实实地花点心思把这些常用的功能都整理成一份文档,方便以...

Nosee123
2017/12/05
0
0
Linux新手学习日记:用户管理的详细解析

在Linux系统中,所有的用户和组像一个国家。如果国家要繁荣昌盛的话,需要治理得当,需要有主席或者总统,以及地方官员和老百姓组成。在linux中如果你对安全需求比较苛刻,完全可以限制用户的...

范堡
2009/05/08
160
0
linux,/etc/passwd,/etc/shadow详解

http://blog.chinaunix.net/uid-20672559-id-3442754.html 嘿!发现了吧?我们在 bash 章节里面提到很多次,登入 Linux 时为何预设是 bash 呢?就是这里设定的啦~ 这里比较需要注意的是,有...

myjieli
2018/06/27
0
0
linux中cat、more、less命令区别详解

本文转自:http://blog.csdn.net/xyw_blog/article/details/16861681 在《Python绝技》这本书的第一个小程序首先展示了针对与unix系统中shadow文件密码的暴力破解的能力,因为之前只是对sha...

zancun
2017/11/18
0
0
12月25日课程笔记 用户管理一passwd、shadow文件解析,用户、管理命令

一、用户管理(一)用户配置文件位置:各项含义: 1、用户账号的名称,也是登录系统时使用的识别名称。2、经过加密的用户密码字串,或者密码占用符“x”。3、用户账号的UID号。  第四字段:...

whytl
2017/12/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

RocketMQ高性能之底层存储设计

说在前面 RocketMQ在底层存储上借鉴了Kafka,但是也有它独到的设计,本文主要关注深刻影响着RocketMQ性能的底层文件存储结构,中间会穿插一点点Kafka的东西以作为对比。 例子 Commit Log,一...

薛定谔的旺
25分钟前
2
0
实战:基于Spring Boot快速开发RESTful风格API接口

写在前面的话 这篇文章计划是在过年期间完成的,示例代码都写好了,结果亲戚来我家做客,文章没来得及写。已经很久没有更新文章了,小伙伴们,有没有想我啊。言归正传,下面开始,今天的话题...

JAVA_冯文议
33分钟前
1
0
Anaconda3 5.0.0中配置Python 3.6 + TensorFlow环境

参考:https://blog.csdn.net/hu_zhenghui/article/details/78156193

Pasenger
37分钟前
0
0
Nginx反向代理Tomcat配置

Nginx代理Tomcat 为什么要为Tomcat配置反向代理? 1)如果同一台机器既有nginx又有Tomcat,则会产生端口冲突2)我们需要把8080端口变成80端口3)nginx对于静态的请求速度上要优于Tomcat,T...

wzb88
50分钟前
10
0
JavaScript email邮箱/邮件地址的正则表达式及分析

在做用户注册时,常会用到邮箱/邮件地址的正则表达式。本文列举了几种方案,大家可以根据自己的项目情况,选择最适合的方案。 方案1 (常用) 规则定义如下: 以大写字母[A-Z]、小写字母[a-z]...

前端小攻略
52分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部