/etc/passwd, /etc/shadow
Contents
/etc/passwd, /etc/shadow
https://blog.csdn.net/u012501054/article/details/71522278
Linux系统中,所有用户 (包括系统管理员) 的账号和密码都可以在/etc/passwd和/etc/shadow这两个文件中找到, (用户和密码就放在文件中,不怕被其他人看的或者修改吗?/etc/passwd只有系统管理员才可以修改的,其他用户可以查看,/etc/shadow其他用户看不了)
vim /etc/shadow
ls -al /etc/passwd /etc/shadow
-rw-r-r-. 1 root root 2250 12月 14 00:17 /etc/passwd
—-. 1 root root 1263 12月 14 00:17 /etc/shadow
上面分别列出了passwd和shadow文件的访问权限信息,其中passwd保存的是账号,shadow保存的是账号的密码等信息,下面就具体看看这两个文件的内容:
/etc/passwd
通过指令 vi /etc/passwd 打开passwd文件来看看,下面列举部分内容如下:
root❌0:0:root:/root:/bin/bash
daemon❌1:1:daemon:/usr/sbin:/bin/sh
bin❌2:2:bin:/bin:/bin/sh
sys❌3:3:sys:/dev:/bin/sh
上面每一行都代表一个用户,每一行又通过[:]分为七个部分。
账号名称
原先用来保存密码的,现在密码都放在/etc/shadow中,所以这里显示x
UID,也就是使用者ID。默认的系统管理员的UID为0,我们添加用户的时候最好使用1000以上的UID,1-1000范围的UID最好保留给系统用。
GID,也就是群组ID
关于账号的一些说明信息 (暂时可以忽略)
账号的家目录,家目录就是你登陆系统后默认的那个目录
账号使用的shell
vi /etc/shadow
root:!:15324:0:99999:7:::
daemon:_:15259:0:99999:7:::
bin:_:15259:0:99999:7:::
letuknowit:$1$cPf/cIvr$sCws95uSip2ljTK052DDB.:15400:5:60:7:2:15490:
这里也是由[:]来进行分割,但是这里一共分出来九个栏目,每个栏目的解释如下:
- 账户名称 (密码需要与账户对应的嘛)
- 加密后的密码, 假如此字段为空,则表示该账号不需要密码就可以登录。如果密码栏的第一个字符为’*‘或者是’!',表示这个账号不能用来登录。可以使用这个方法来开启或关闭一个账户的登录权限。另外’!!‘两个叹号表示这个账号目前没有密码,也不能用于登录,通常为一些系统账号。
- 最近改动密码的日期 (不是日期吗,咋是一堆数字,别急,这个是从1970年1月1日算起的总的天数) 。那怎么才能知道今天距1970年1月1日有多少天呢?很简单,你改下密码,然后看下这个栏目中的数字是多少就可以了!
- 密码不可被变更的天数: 设置了这个值,则表示从变更密码的日期算起,多少天内无法再次修改密码,如果是0的话,则没有限制
- 密码需要重新变更的天数: 密码经常更换才能保证安全,为了提醒某些经常不更换密码的用户,可以设置一个天数,强制让用户更换密码,也就是说该用户的密码会在多少天后过期,如果为99999则没有限制
- 密码过期预警天数: 如果在5中设置了密码需要重新变更的天数,则会在密码过期的前多少天进行提醒,提示用户其密码将在多少天后过期
- 密码过期的宽恕时间: 如果在5中设置的日期过后,用户仍然没有修改密码,则该用户还可以继续使用的天数
- 账号失效日期,过了这个日期账号就不能用了
- 保留的
以上面最后用户letuknowit为例 (15400对应的日期为2012年3月1日) ,其保护如下信息:
用户letuknowit最近一次修改密码的日期是2012年3月1日,
在2012年3月6日之前不能再改动密码了,
在2012-3-1到2012-4-29期间letuknowit需要更改密码,
在2012-4-29之前的7天,letuknowit登陆系统的时候,系统会提示letuknowit其密码即将过期,
如果letuknowit一直到2012-4-29都没有修改密码,则其仍然可以继续使用该账户2天,2天后该账户将不可用
无论如何,到了2012年5月29日,该账号都将失效
http://cn.linux.vbird.org/linux_basic/0410accountmanager_1.php
Author -
LastMod 2018-12-24