Linux /etc/passwd /etc/group /etc/shadow 文件的格式说明-阿里云开发者社区

开发者社区> 欧阳鹏> 正文

Linux /etc/passwd /etc/group /etc/shadow 文件的格式说明

简介: /etc/passwd 存放账户信息: root:x:0:0:root:/root:/bin/bash jianing:x:1011:100::/home/jianing:/bin/bash username:password:u...
+关注继续查看
/etc/passwd 存放账户信息:

root:x:0:0:root:/root:/bin/bash
jianing:x:1011:100::/home/jianing:/bin/bash

username:password:uid:gid:allname:homedir:shell

用户名:密码:用户ID:组ID:用户全名:主目录:登录shell

密码:存在/etc/shadow中,存入后者的就用x表示,如果是“!”说明此用户不能用密码登录

UID:就是用户识别码(ID),当UID为0时说明其账号是管理员身份,1-499是保留给系统使用的主要是一些系统服务,500-65535是给一般用户的。

GID:与/etc/group文件有关,就是用户初始化组的ID。

用户全名:用户全名

家目录:就是该用户的主目录

Shell:SHELL脚本


/etc/shadow  存放用户密码


root:$2a$32$3lnW8AXwIZy.Ibh0T2k3huMil/ZGEOQwe3EvJJzfnIcnPzxTamjke:14916::::::

jianing:$2a$10$AmxqDaxMITQoEr4HGcM/zO6JzJWMVcHpxmXdWKVOX5Tb/WWQ/m8wK:14853:0:99999:7:::

aj:!:15006:0:99999:7:::

username:password:last_change:min_change:max_change:warm:failed_expire:expiration:reserved

账号名称:密码:最近更改密码的日期(from 1974-1-1):密码不可更改的天数:密码需要重新更改的天数:密码更改期限前的警告日期:密码过期的宽限时间:账号失效时间:保留



/etc/group 用户组信息


root:x:0:

test:!:1005:u01,u02,u03,cvsroot

groupname:password:gid:members


组名:密码:组ID:成员





linux用户和/etc/passwd文件
passwd文件是以行为单位的配置文件,每行定义系统上的一个用户,行内分为字段,字段之间由一个冒号隔开。这些字段依次为:
用户名:密码:用户ID:主要组ID:GECOS:主目录:登录shell
字段解释:
用户名:就是一个用户名,登录时候用的
密码:在旧的UNIX系统上,这个字段含有用户的加密密码,为了安全性,现在的linux均显示为x或*号
用户ID:linux内核用于识别用户的一个整数ID
主要组ID:linux内核用于识别用户主要组的一个整数ID
GECOS:用户全名,安装linux时如果不输入全名,则显示为跟用户名一样,如果输入,则显示为全名(不可用于登录)
主目录:用户登录时,他的登录Shell将使用这个目录作为当前工作目录
登录Shell:用户登录时的默认Shell,在redhat 企业版中,登录shell通常是/bin/bash
 
一个/etc/passwd文件中的典型几行数据
root:x:0:0:root:/root:/bin/bash
apache:x:48:48:Apache:/var/www:/sbin/nologin
tomcat:x:91:91:Apache Tomcat:/usr/share/tomcat6:/bin/sh
说明:第2个字段用户加密后的密码在现代linux中不显示的,显示为"x"或"*"号
如需了解passwd详细信息,可运行 man 5 passwd 命令来查看
 
linux用户密码和/etc/shadow文件
以前用户的加密都是被保存在/etc/passwd文件中的第2个字段中,并且每个用户都可以读取,随着计算机性能的发展,暴力破解变得相对比较容易,因此,现在linux采用一种“影子密码”,用户的密码被保存在专门的/etc/shadow文件中,其权限不允许普通用户查看,root用户可以查看,了解详细信息可执行man 5 shadow。
/etc/shadow 文件信息存储结构,字段依次为
用户名:加密密码:上次更改密码的时间:最小更改密码间隔:密码有效期限:密码过期提示时间:密码锁定期:账户有效期:保留字段
 
/etc/shadow文件中几行数据
root:$6$DgEqy0v1u0STl/ML$lmRzdT/Ad6PoNmahItTnvc1NwoBlvSLEriBDXyE4rhTGpFHweMTe/GkW5bSsAsVQjMLrsDAY5X.jr8NsE1Ekh1:15148:0:99999:7:::
lzgonline:$6$2ji/.tNs9lWLcAQu$dCsR22xAxHj6q9rDSE1w14KeflWmvS5.RDD2ro11/H55TIkM69ghyPZgazi.egaTuQhIWWgLPZMvcuSKb3vFs/:15148:0:99999:7:::
apache:!!:15148::::::

用户使用passwd命令更改密码时,如果不是root用户,则passwd不接受任何参数和选项,即用户只能更改自己的密码。
 
3种类型的用户
普通用户:普通用户是使用系统真实用户人群。普通用户通常把/bin/bash作为登录Shell和/home的子目录作为主目录。一般情况下,普通用户只在自己的主目录和系统范围内的临时目录里(如/tmp和/var/tmp)创建文件。在redhat企业版linux中,普通用户的用户ID数通常大于500.
 
root用户:用户ID为0的用户,也被称为超级用户,root用户在系统上拥有完全权限,可以修改和删除任何文件,可以运行任何命令,可以取消任何进程。root用户负责增加和保留其他用户、配置硬件、添加系统软件。虽然root用户可以在系统上的任何地方创建文件,但它也通常使用/root作为主目录
 
系统用户:大多数linux系统保留一系列低UID值用户作为系统用户,系统用户不代表人,而代表系统的组成部分。例如,运行Apache网络服务器的进程经常作为用户apache(见上面的passwd文件中apache用户信息)来运行。系统用户一般没有登录Shell,因为它不代表实际登录的用户。同样,系统用户的主目录很少在/home中,而通常在属于相关应用的系统目录中。例如,用户apache的主目录是/var/www。在redhat企业版linux中,系统用户的UID值范围在1-499之间。
 
操作中常用linux命令
ps -aux //检查进程用户ID
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1   2824  1408 ?        Ss   22:27   0:01 /sbin/init
root         2  0.0  0.0      0     0 ?        S    22:27   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    22:27   0:00 [migration/0]
root         4  0.0  0.0      0     0 ?        S    22:27   0:00 [ksoftirqd/0]

ls -l //根据用户名列出目录所有者
[root@lzgonline lzgonline]# ls -l
总用量 36
drwxrwxr-x. 2 lzgonline lzgonline 4096  6月 23 22:50 coding
drwxr-xr-x. 2 lzgonline lzgonline 4096  6月 23 22:03 公共的
drwxr-xr-x. 2 lzgonline lzgonline 4096  6月 23 22:03 模板
drwxr-xr-x. 2 lzgonline lzgonline 4096  6月 23 22:03 视频

ls -ln //根据用户ID列出目录所有者
[root@lzgonline lzgonline]# ls -ln
总用量 36
drwxrwxr-x. 2 500 500 4096  6月 23 22:50 coding
drwxr-xr-x. 2 500 500 4096  6月 23 22:03 公共的
drwxr-xr-x. 2 500 500 4096  6月 23 22:03 模板
drwxr-xr-x. 2 500 500 4096  6月 23 22:03 视频
drwxr-xr-x. 2 500 500 4096  6月 23 22:03 图片
 
说明:linux内核不保存拥有文件的用户的用户名,保存的是用户ID,每次ls命令运行时,必须在/etc/passwd文件中查找用户名与用户ID映射,然后把用户名对应到内核所提供的用户ID上。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java对文件的读、写随机访问,RandomAccessFile类的使用分析
  在网上看了一些关于java中的RandomAccessFile类的介绍,又经过查看Java API和自己编的测试程序,总算是对RandomAccessFile的使用有了一定的了解。自己做了以下比较详细的总结吧。
1033 0
python/pandas/numpy(十二)数据加载、存储与文件格式
基本命令 pd.read_csv('1.txt') 只想读几行文本文件 pd.read_csv('1.
1060 0
fastdfs的tracker文件的配这说明
fastdfs的tracker文件的配这说明 tracker.conf
46 0
jdom学习读取XML文件
用JDOM读取XML文件需先用org.jdom.input.SAXBuilder对象的build()方法创建Document对象,然后用Document类、Element类等的方法读取所需的内容。IBM : developerWorks 中国站上有一个很好的例子:            ...
585 0
产品百科 | RTC Android SDK 播放音效文件的接口方法
阿里云 RTC SDK 为您提供伴奏文件和音效文件的相关接口方法,您可以通过本文了解其具体的实现方法。
64 0
【转】ADO.Net连接DBF文件
Shapefile属性表是dbf格式的,开源项目SharpMap提供了二进制读取dbf的方法,但是如果想查询的话,不用数据库还真不好做。ADO.Net的OLE DB和ODBC都可以连接、查询dbf。
904 0
产品百科 | RTC iOS SDK 播放音效文件的接口方法
阿里云 RTC SDK 为您提供伴奏文件和音效文件的相关接口方法,您可以通过本文了解其具体的实现方法。
38 0
Css规范整理:3.3、常规流布局:行内格式化上下文
行内级盒:参与行内格式化上下文的盒(outer = inner ) 行内盒:display = inline 的不可替换元素。 原子行内级盒:不属于行内盒的行内级盒。 行框(line box):包含来自同一行的盒的矩形区域叫做行框。(不是一个盒,没有padding border margin)
1392 0
+关注
欧阳鹏
一个人,如果你不逼自己一把,你根本不知道自己有多优秀! Talk is cheap, show me the code.
473
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载