我是靠谱客的博主 英俊蓝天,最近开发中收集的这篇文章主要介绍/etc/passwd 和 /etc/shadows 详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

linux操作系统上的用户如果需要登录主机,当其输入用户名和密码之后:

  1. 首先在/etc/passwd文件中查找是否有你的账号,如果没有无法登录,如果有的话将该用户的UID和GID读出来,此外将此用户的shell设置也一并读出。
  2. 然后根据UID到/etc/shadow文件中去寻找相应用户的密码,如果匹配一致
  3. 进入shell控制的阶段。

下面我们详细解释这两个文件:

 一:/etc/passwd   

//我的passwd的一部分内容
student@student:~$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

字段之间用 :分开.

字段含义
1用户名
2用户的密码原来直接存储在第二字段,但是为了安全,最后专门有了/etc/shadow文件,现在默认用x替代
3用户的uid,一般情况下root为0,1-499默认为系统账号,有的更大些到1000,500-65535为用户的可登录账号,有的系统从1000开始。
4用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(在/etc/group中)读出来。然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。
5用户的账号说明解释
6用户的家目录文件夹
7用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。

 二:/etc/shadow 

student@student:~$ cat /etc/shadow
root:$6$X9iEgIhv$wGtrUhjiNRp72LgCTzC1qdi.myfSU9S5nqsfr.m1KInUFoeOUBN73AmMy5sTe91biJLdHgsoimZQzeD9EvGlv1:16769:0:99999:7:::
daemon:*:16547:0:99999:7:::
bin:*:16547:0:99999:7:::
sys:*:16547:0:99999:7:::
sync:*:16547:0:99999:7:::
games:*:16547:0:99999:7:::
man:*:16547:0:99999:7:::
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
字段含义
1用户名
2用户的密码加密字段
3密码已经使用的日期(从1970-01-01开始,为什么?因为unix1969年发布雏形,基于当时对系统的考虑,就这样了)
4密码最少多少天之后可以修改(例子中是3天之后,也就是修改一次3天之后才能再次修改)
5密码多少天之后必须修改(例子中99999就是表明可以一直不用修改密码)
6密码修改之前几天提醒我修改(例子中是7天之前)
7要是没有修改延长几天(例子中延长3天)
8无论怎样到这个时间过期(例子中的时间从1970-01-01算)
9保留字段,目前无含义

最后

以上就是英俊蓝天为你收集整理的/etc/passwd 和 /etc/shadows 详解的全部内容,希望文章能够帮你解决/etc/passwd 和 /etc/shadows 详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(154)

评论列表共有 0 条评论

立即
投稿
返回
顶部