本文主要介绍“linux密码存储在什么文件中”。在日常操作中,相信很多人都会对linux密码存储在什么文件中产生疑惑。主机频道查阅了各种资料,整理了简单易用的操作方法,希望能帮你解决“linux密码存放在什么文件里”的疑惑!接下来请跟着主机频道学习!
Linux密码主要存在于两个文件中:1。文件“/etc/shadow”用于存储用户的密码信息;只有root用户对文件有读取权限,其他用户没有权限,从而保证了用户密码的安全性。2.“/etc/gshadow”文件用于存储集团用户的密码信息。该文件包含组名、加密密码、组管理员和组的其他用户的列表信息。
linux存储密码的文件linux密码主要存在于两个文件中。
/etc/shadow文件:用于存储Linux系统中用户的密码信息,也称为“影子文件”。
/etc/gshadow文件:用于存储Linux系统中集团用户的密码信息。
1.影子文件
/etc/shadow文件,用于存储Linux系统中用户的密码信息,也称为“影子文件”。
etc中有一个passwd文件,存储了系统中所有用户的基本信息。但是,由于该文件允许所有用户读取,因此很容易泄露用户的密码。所以Linux系统把用户的密码信息从/etc/passwd文件中分离出来,单独放在这个文件中。
只有root用户拥有对/etc/shadow文件的读取权限,其他用户没有权限,从而保证了用户密码的安全性。
注意,如果这个文件的权限发生了变化,就需要注意是否是恶意攻击。
/etc/shadow文件中的每一行都代表一个用户,并且“:& quot作为分隔符,不同的是每行用户信息分为9个字段。每个字段的含义如下:
用户名:加密密码:上次修改时间:最小修改时间间隔:密码有效期:密码需要更改前的警告天数:密码过期后的宽限期:帐户过期时间:保留字段。
接下来我就分别给大家介绍这九个领域。
1)用户名
它与/etc/passwd文件的用户名具有相同的含义。
2)加密密码
这里保存的是真正加密的密码。目前Linux的密码采用SHA512哈希加密算法,原始加密算法为MD5或DES。SHA512哈希加密算法具有更高的加密级别,更加安全。
请注意,不能手动修改由这一串密码生成的乱码。如果手动修改,系统将无法识别密码,导致密码失效。很多软件都是用这个功能在密码串前加。!"、quot* & quot或者“x & quot暂时使密码无效。
所有假冒用户的密码都是“!!"或者“* & quot,也就是说没有密码就不能登录。当然,如果新创建的用户没有设置密码,那么它的密码项也是“!!",这意味着该用户没有密码,无法登录。
3)上次修改时间
此字段指示上次更改密码的时间,但为什么root用户显示15775?
这是因为Linux计算日期的时间是以1970年1月1日为1连续累加的时间,到1971年1月1日,就是366天。显示的是15775天,也就是这个root账号的root密码是在1970年1月1日之后的第15775天修改的。
那么,15775代表哪一天呢?您可以使用以下命令进行转换:
#当前用户更改密码,直接使用passwd。
密码
#更改其他用户的密码
密码用户名
锁定用户的密码
disable user passwd命令用于更新/etc/shadow文件中的用户身份验证令牌。
#锁定用户的密码
passwd -l日极客
# #回声
锁定用户daygeek的密码。
密码:成功
#查看用户的密码锁状态
passwd -S日极客
#解锁用户的密码
passwd -u日极客
检查帐户的密码状态。
#检查帐户的密码状态
passwd -S根目录
关于帐户密码状态的简短信息。
路克:密码锁定了。
NP:没有设置密码。
PS:密码已设置。
非交互式密码修改
单引号& # 39;',双引号" & quot区别在于:
单引号& # 39;'剥夺了所有字符的特殊含义,单引号& # 39;'它变成了一个简单的字符。
双引号" & quot然后对双引号" & quot中的参数替换($)和命令替换(``)是例外。
#用echo将新密码写入passwd
# # passwd-stdin:从标准输入(如管道)写入密码。
# echo双引号不使用特殊字符,如!,将会逃脱
## echo使用单引号,引号中的字符不会被转义。
回声& # 39;新密码& # 39;| passwd-标准输入用户名
# Ubuntu不支持- stdin参数,您可以使用替代命令。
回显用户:pass | chpasswd
删除用户密码# #-d删除现有密码。
密码-d用户名
2.修改帐户和密码变更的有效期。
修改密码有效期
#修改testt用户的密码信息,设置最大有效期为120天,最小有效期为7天。
# ## -M,- maxdays最大天数将密码更改之间的最大天数设置为“最大天数”
# #-m,-min days最小天数将密码更改之间的最小天数设置为“最小天数”。
查格-M 120 -m 7试验
将密码设置为指定的日期。
#测试这个账号的有效期是2014年9月30日。
# #-e,-Expire Date将帐户到期日期设置为“到期日期”。
chage-E & # 39;20109-30'试验
将密码更改为永不过期
#将用户密码修改为永久密码(5个9)。
# ## -M,- maxdays最大天数将密码更改之间的最大天数设置为“最大天数”
Chage -M 99999用户名
立即使密码无效
#立即使密码失效
#强制用户在登录时更改密码
# #-d,-最后一天最晚日期设置最晚密码设置时间为“最晚日期”
Chage -d 0用户名
#检查密码到期时间
[root@localhost ~]# chage -l use1
上次修改密码时间:必须修改密码。
密码到期时间:必须修改密码。
密码到期时间:必须修改密码。
帐户过期时间:从不
密码更改的最小间隔天数:0
密码更改的最大间隔天数:99999
密码过期前的警告天数:7
3.使用openssl生成密码。
查看支持的加密算法
[student@workstation数据-机密]$ openssl密码-帮助
用法:passwd[选项]
有效选项包括:
-帮助显示此摘要
-in infile从文件中读取密码
-noverify从终端读取密码时从不验证
-安静没有警告
-表格格式输出为表格
-反向切换表列
-盐阀使用提供的盐
-stdin从stdin读取密码
-6基于SHA512的密码算法
-5基于SHA256的密码算法
-apr1基于MD5的密码算法,Apache变体
-1基于MD5的密码算法
-aixmd5基于aixmd5的密码算法
-crypt标准Unix密码算法(默认)
-rand val将文件加载到随机数生成器中
Write和outfile将随机数据写入指定的文件
使用sha512算法生成密码
[学生@工作站数据-机密]$ openssl passwd -6
密码:#提示输入密码。
验证密码:#确认密码
#生成的加密密码
$ 6 $ hkf . tpoz/woyzn 1c $ ardshie 9 ust 44 nnqymql 6 ozwksi 3 e 0 wwl 4 nedhfmqolsen 6 er 18 sysfygnvxqmegc 81 dlkuerhqdm 5 ei 3 idw 0
给密码加上盐(-盐)
用-salt字符串给密码加不同的盐,密码相同,算法相同,密文不同,相同的盐,密码相同,算法相同,密文相同。
#添加salt rhel以生成密文
[student @ workstation data-secret]$ OpenSSL passwdroot@localhost ~]# chage --help
用法:chage [选项] 登录
选项:
-d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期”
-E, --expiredate 过期日期 将帐户过期时间设为“过期日期”
-h, --help 显示此帮助信息并推出
-I, --inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态
-l, --list 显示帐户年龄信息
-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数”
-M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为“最大天数”
-R, --root CHROOT_DIR chroot 到的目录
-W, --warndays 警告天数 将过期警告天数设为“警告天数”
使用-l参数列出用户密码过期的设置:
# 查看上次密码的修改时间
# 查看密码过期配置
chage -l root
-[salt rhel
密码:#输入密码。
# #生成的密文
$ 6 $ rhel $ 2 jncqy/naqr 4 gho vgz 49 yg rni 8 LX x3 JAK lxyxebctyln 8 hh 7 nu 9 fjc 4 zsbrhijmv 0 VBL B6 w3yyqp . nlzo 8 mcy 0
#再次实验添加salt rhel来生成密文
[student @ workstation data-secret]$ OpenSSL passwdroot@localhost ~]# chage --help
用法:chage [选项] 登录
选项:
-d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期”
-E, --expiredate 过期日期 将帐户过期时间设为“过期日期”
-h, --help 显示此帮助信息并推出
-I, --inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态
-l, --list 显示帐户年龄信息
-m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数”
-M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为“最大天数”
-R, --root CHROOT_DIR chroot 到的目录
-W, --warndays 警告天数 将过期警告天数设为“警告天数”
使用-l参数列出用户密码过期的设置:
# 查看上次密码的修改时间
# 查看密码过期配置
chage -l root
-[salt rhel
密码:#输入密码。
# #生成的密文与最后一条密文完全一致。
$ 6 $ rhel $ 2 jncqy/naqr 4 gho vgz 49 yg rni 8 LX x3 JAK lxyxebctyln 8 hh 7 nu 9 fjc 4 zsbrhijmv 0 VBL B6 w3yyqp . nlzo 8 mcy 0
密文分段详解
$ 6 $ rhel $ 2 jncqy/naqr 4 gho vgz 49 yg rni 8 LX x3 JAK lxyxebctyln 8 hh 7 nu 9 fjc 4 zsbrhijmv 0 VBL B6 w3yyqp . nlzo 8 mcy 0
## $6表示加密算法sha512。
## $rhel用盐的时候就是rhel的意思。
# #第三个$后是算法+盐+原密码生成的密文。
评论前必须登录!
注册