手机
当前位置:查字典教程网 >操作系统 >unix linux >Linux操作系统口令文件安全问题详细解析
Linux操作系统口令文件安全问题详细解析
摘要:几乎所有的类Unix操作系统的口令文件的格式都雷同,Linux亦不例外。口令安全是Linux操作系统的传统安全问题之一。传统口令与影子口令/...

几乎所有的类Unix操作系统的口令文件的格式都雷同,Linux亦不例外。口令安全是Linux操作系统的传统安全问题之一。

传统口令与影子口令

/etc/passwd是存放用户的基本信息的口令文件。该口令文件的每一行都包含由6个冒号分隔的7个域:

username:passwd:uid:gid:comments:directory:shell

以上从左到右7个域分别叙述如下:

username:是用户登陆使用的名字。

passwd:是口令密文域。密文是加密过的口令。如果口令经过shadow则口令密文域只显示一个x,通常,口令都应该经过shadow以确保安全。如果口令密文域显示为*,则表明该用户名有效但不能登陆。如果口令密文域为空则表明该用户登陆不需要口令。

uid:系统用于唯一标识用户名的数字,uid系统是这样分配的:

0超级用户

1~10守护程序和伪用户

11~99系统保留用户

100~正常用户

gid:表示用户所在默认组号。由/etc/group文件决定。

comments:描述用户的个人信息。

directory:定义用户的初始工作目录。

shell:就是指定用户登陆到系统后启动的外壳程序。

表1列出了系统在安装过程中创建的标准用户,表中的内容和/etc/passwd文件的描述是一致的。

表2列出系统安装过程中创建的标准用户组,和/etc/group文件是一致的:

Linux使用不可逆的加密算法如DES来加密口令,由于加密算法是不可逆的,所以从密文是得不到明文的。但问题在于,/etc/passwd文件是全局可读的,加密的算法是公开的,如果有恶意用户取得了/etc/passwd文件,他就可以穷举所有可能的明文通过相同的算法计算出密文进行比较,直到相同,于是他就破解了口令。因此,针对这种安全问题,Linux/Unix广泛采用了“shadow(影子)”机制,将加密的口令转移到/etc/shadow文件里,该文件只为root超级用户可读,而同时/etc/passwd文件的密文域显示为一个x,从而最大限度减少密文泄露的机会。

/etc/shadow文件的每行是8个冒号分割的9个域,格式如下:

username:passwd:lastchg:min:max:warn:inactive:expire:flag

其中:

lastchg:表示从1970年1月1日起到上次修改口令所经过的天数。

min:表示两次修改口令之间至少经过的天数。

max:表示口令还会有效的最大天数,如果是99999则表示永不过期。

warn:表示口令失效前多少天内系统向用户发出警告。

inactive:表示禁止登陆前用户名还有效的天数。

expire:表示用户被禁止登陆的时间。0

flag:无意义,未使用。

启用影子口令

RedHatLinux缺省安装shadow,如果你发现你的系统的/etc/passwd文件仍然可以看到密文,就说明你没有启用shadow。可以执行pwconv来启用shadow。

在RedHatLinux7.1中,影子工具包(shadowutils)包含了几个工具支持以下功能:

传统口令与影子口令之间的转换工具:pwconv、pwunconv。

验证口令,组和相应的影子文件:pwck、grpck。

以符合工业标准的方法增加、删除和修改用户帐户:useradd、usermod、userdel。

以符合工业标准的方法增加、删除和修改用户组:groupadd、groupmod、groupdel。

以符合工业标准的方法管理文件/etc/group。

无论系统是否启用shadow机制,上述工具都可以正常使用。

更改Linux口令的最短长度

Linux系统默认最短口令长度为5个字符,这个长度不足以保证口令的健壮性,应该改为最短8个字符,编辑/etc/login.defs文件,在此文件中,将

PASS_MIN_LEN5

改为:

PASS_MIN_LEN8

表1

UserUidgidDirectoryshell

Root00/root/bin/bash

Bin11/bin

Daemon22/sbin

Adm34/var/adm

Lp47/var/spool/lpd

Sync50/sbin/bin/sync

shutdown60/sbin/sbin/shutdown

Halt70/sbin/sbin/halt

Mail812/var/spool/mail

News913/var/spool/news

Uucp1014/var/spool/uucp

Operator110/root

Games12100/usr/games

Gopher1330/usr/lib/gopher-data

ftp1450/home/ftp

Nobody9999/

表2

GroupGidMembers

Root0Root

Bin1root,bin,daemon

Daemon2root,bin,daemon

Sys3root,bin,adm

Adm4root,adm,daemon

Tty5

Disk6Root

Lp7daemon,lp

Mem8

Kmem9

Whell10Root

Mail12Mail

News13News

Uucp14Uucp

Man15

Games20

Gopher30

Dip40

ftp50

nobody99

Users100

floppy19

【Linux操作系统口令文件安全问题详细解析】相关文章:

Linux操作系统中安装和试用IE、Office等软件

Linux系统中防火墙的框架分析

浅谈linux操作系统的优化及安全

浅析Linux操作系统登录帐户的管理和审计

Linux系统文件命令精通指南(下)

Linux操作系统中BSD套接口开发的基础介绍

Linux操作系统12则经典应用技巧

十招提高Linux系统安全性的设置方法

操作系统安全防范简述:Linux篇

Linux主机下远程操作GUI程序的方法

精品推荐
分类导航