/etc/shadow文件是/etc/passwd 的影子文件,这个文件并不由/etc/passwd 而产生的,这两个文件是应该是对应互补的;shadow内容包括用户及被加密的密码以及其它/etc/passwd 不能包括的信息,比如用户的有效期限等;这个文件只有root权限可以读取和 *** 作,权限如下:
-r-------- 1 root root 1.5K 10月 16 09:49 /etc/shadow
/etc/shadow 的权限不能随便改为其它用户可读,这样做是危险的。如果您发现这个文件的权限变成了其它用户组或用户可读了,要进行检查,以防系统安全问题的发生;
如果我们以普通用户查看这个文件时,应该什么也查看不到,提示是权限不够:
[beinan@localhost ~]$ more /etc/shadow
/etc/shadow: 权限不够
2)/etc/shadow 的内容分析;
/etc/shadow 文件的内容包括9个段位,每个段位之间用:号分割;我们以如下的例子说明;
beinan:$1$VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1:13072:0:99999:7:::
linuxsir:$1$IPDvUhXP$8R6J/VtPXvLyXxhLWPrnt/:13072:0:99999:7::13108:
第一字段: 用户名(也被称为登录名),在/etc/shadow中,用户名和/etc/passwd 是相同的,这样就把passwd 和shadow中用的用户记录联系在一起;这个字段是非空的;
第二字段: 密码(已被加密),如果是有些用户在这段是x,表示这个用户不能登录到系统;这个字段是非空的;
第三字段: 上次修改口令的时间;这个时间是从1970年01月01日算起到最近一次修改口令的时间间隔(天数),您可以通过passwd 来修改用户的密码,然后查看/etc/shadow中此字段的变化;
第四字段: 两次修改口令间隔最少的天数;如果设置为0,则禁用此功能;也就是说用户必须经过多少天才能修改其口令;此项功能用处不是太大;默认值是通过/etc/login.defs文件定义中获取,PASS_MIN_DAYS 中有定义;
第五字段: 两次修改口令间隔最多的天数;这个能增强管理员管理用户口令的时效性,应该说在增强了系统的安全性;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_MAX_DAYS 中定义;
第六字段: 提前多少天警告用户口令将过期;当用户登录系统后,系统登录程序提醒用户口令将要作废;如果是系统默认值,是在添加用户时由/etc/login.defs文件定义中获取,在PASS_WARN_AGE 中定义;
第七字段: 在口令过期之后多少天禁用此用户;此字段表示用户口令作废多少天后,系统会禁用此用户,也就是说系统会不能再让此用户登录,也不会提示用户过期,是完全禁用;
第八字段: 用户过期日期;此字段指定了用户作废的天数(从1970年的1月1日开始的天数),如果这个字段的值为空,帐号永久可用;
第九字段: 保留字段,目前为空,以备将来Linux发展之用;
在 Linux 中本地登录时会使用 shadow 认证机制。Shadow 是一种安全的用户密码管理方案,它将用户密码保存在单独的 shadow 文件中,并限制对密码文件的访问权限,从而增强系统的安全性。在 Linux 中,当用户登录时,系统会首先验证用户的用户名和密码是否匹配。系统会读取 /etc/shadow 文件中的加密密码信息,并将用户输入的密码与之进行比较,如果匹配成功,则允许用户登录。否则,系统会拒绝用户登录请求。
需要注意的是,为了保护系统的安全, /etc/shadow 文件的访问权限被设置为仅允许超级用户访问。这意味着普通用户无法直接读取和修改 shadow 文件中的密码信息。同时,为了保护密码信息的安全,Linux 还提供了许多密码策略,例如密码长度、密码复杂度、密码失效时间等,以提高系统的安全性。
总之,Linux 使用 shadow 作为本地登录的认证机制,这一机制可以提高系统的安全性,保护用户密码信息的安全。
用户可以在终端通过cat命令查看:cat /etc/shadow
NIX/Linux的密码文件原来采bai用/etc/passwd,共有7个字段。用户的密码加密后放在每一行的第二个字段里,这个 /etc/passwd文件在一般情况下是所有用户可读,只有root用户可写的,这样不良用户就可能读取加密后的密码字串来取得密码。
因为这个安全原因,设置一个/etc/shadow文件专门用于保存密码且它的权限一般是root可读,没有其他权限。加密后的密码文件就不能被普通用户读取。做法是把/etc/passwd对应的密码字段用*号表示,在/etc/shadow里对应的一行,有用户名和真正的密码加密字串,其他的字段一般留空。
扩展资料:
在Linux中普通文件和目录文件保存在称为块物理设备的磁盘或者磁带上。一套Linux系统支持若干物理盘,每个物理盘可定义一个或者多个文件系统。(类比于微机磁盘分区)。每个文件系统由逻辑块的序列组成,一个逻辑盘空间一般划分为几个用途各不相同的部分,即引导块、超级块、inode区以及数据区等。
参考资料来源:百度百科-Linux文件系统
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)