Linux操作系统的口令安全问题详细解析

转载 2007年09月28日 02:13:00
原贴:http://blog.chinaunix.net/u/17030/showart_311410.html

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:无意义,未使用。

  启用影子口令
  RedHat Linux缺省安装shadow,如果你发现你的系统的/etc/passwd文件仍然可以看到密文,就说明你没有启用shadow。可以执行pwconv来启用shadow。
  在RedHat Linux 7.1中,影子工具包(shadow utils)包含了几个工具支持以下功能:
  传统口令与影子口令之间的转换工具:pwconv、pwunconv。
  验证口令,组和相应的影子文件:pwck、grpck。
  以符合工业标准的方法增加、删除和修改用户帐户:useradd、usermod、userdel。
  以符合工业标准的方法增加、删除和修改用户组:groupadd、groupmod、groupdel。
  以符合工业标准的方法管理文件/etc/group。
  无论系统是否启用shadow机制,上述工具都可以正常使用。
  更改Linux口令的最短长度
  Linux系统默认最短口令长度为5个字符,这个长度不足以保证口令的健壮性,应该改为最短8个字符,编辑/etc/login.defs文件,在此文件中,将
  PASS_MIN_LEN  5
  改为:
  PASS_MIN_LEN  8
  表1
  User Uid gid Directory shell
  Root 0 0 /root /bin/bash
  Bin 1 1 /bin
  Daemon 2 2 /sbin
  Adm 3 4 /var/adm
  Lp 4 7 /var/spool/lpd
  Sync 5 0 /sbin /bin/sync
  shutdown 6 0 /sbin /sbin/shutdown
  Halt 7 0 /sbin /sbin/halt
  Mail 8 12 /var/spool/mail
  News 9 13 /var/spool/news
  Uucp 10 14 /var/spool/uucp
  Operator 11 0 /root
  Games 12 100 /usr/games
  Gopher 13 30 /usr/lib/gopher-data
  ftp 14 50 /home/ftp
  Nobody 99 99 /
  表2
  Group Gid Members
  Root 0 Root
  Bin 1 root,bin,daemon
  Daemon 2 root,bin,daemon
  Sys 3 root,bin,adm
  Adm 4 root,adm,daemon
  Tty 5
  Disk 6 Root
  Lp 7 daemon,lp
  Mem 8
  Kmem 9
  Whell 10 Root
  Mail 12 Mail
  News 13 News
  Uucp 14 Uucp
  Man 15
  Games 20
  Gopher 30
  Dip 40
  ftp 50
  nobody 99
  Users 100
  floppy 19  

Linux操作系统的文件属性详细解析

1、 Linux 文件属性概说   Linux 文件或目录的属性主要包括:文件或目录的节点、种类、权限模式、链接数量、所归属的用户和用户组、最近访问或修改的时间等内容;   [root@l...
  • BullJordan23
  • BullJordan23
  • 2012年07月08日 21:22
  • 515

【收藏】内部优惠券之淘口令使用篇

最近很多亲们都进过微信QQ购物群,以及内部优惠券网站吧,今天分享下手机端内部优惠券网站淘口令版怎么用的?淘口令怎么用的?       大家可能会问,为什么要用淘口令呢,首先,此网站也支持...
  • sinat_38802820
  • sinat_38802820
  • 2017年05月18日 18:31
  • 1015

linux操作系统内核启动参数详细解析

Linux内核在启动的时候,能接收某些命令行选项或启动时参数。当内核不能识别某些硬件进而不能设置硬件参数或者为了避免内核更改某些参数的值,可以通过这种方式手动将这些参数传递给内核。 如果不使用启动...
  • Jerry_1126
  • Jerry_1126
  • 2015年05月16日 11:50
  • 1357

Linux操作系统PS命令详细解析

要对系统中进程进行监测控制,用 ps 命令满足你。 ps 是显示瞬间行程的状态,并不动态连续;如果想对进程运行时间监控,应该用 top 工具。 kill 用于杀死进程。 ==========...
  • qq14942468
  • qq14942468
  • 2014年03月07日 14:19
  • 552

Linux操作系统内核启动参数详细解析

Linux内核在启动的时候,能接收某些命令行选项或启动时参数。当内核不能识别某些硬件进而不能设置硬件参数或者为了避免内核更改某些参数的值,可以通过这种方式手动将这些参数传递给内核。 如果不使用启...
  • SUKHOI27SMK
  • SUKHOI27SMK
  • 2013年11月07日 22:49
  • 693

Linux操作系统PS命令详细 解析

http://blog.chinaunix.net/space.php?uid=20564848&do=blog&id=74654 Linux操作系统PS命令详细 解析 要对系统中进程...
  • whyhonest
  • whyhonest
  • 2012年11月09日 23:31
  • 1871

Linux操作系统Ifconfig命令详细解析

     无论是Linux 自动安装还是我们手工安装,Linux 都会向你询问有关网络的问题并配置相关的软件。这个用于配置网卡的基本命令就是ifconfig。    在执行ifconfig 命令后,...
  • yuyazhang
  • yuyazhang
  • 2007年06月08日 12:49
  • 510

TCP安全问题浅析

第一章  TCP/IP协议概述   1.1  TCP/IP协议定义  协议是互相通信的计算机双方必须共同遵从的一组约定。TCP/IP(传输控制协议/网际协议)就是这样的约定,它规定了计算机之间互...
  • liujiayu2
  • liujiayu2
  • 2015年04月10日 17:32
  • 787

Linux操作系统下的多进程编程详细解析

作者:wildwolf 来源:赛迪网技术社区 (一) 理解Linux下进程的结构   Linux下一个进程在内存里有三部份的数据,就是 “数据段”,“堆栈段”和“代码段”,其实学过汇编语言的人一定知道...
  • yjz0065
  • yjz0065
  • 2007年04月02日 22:55
  • 830

Linux操作系统的可执行文件格式详细解析

     BEA系统有限公司日前近日发布了《2008年BPM市场行情》白皮书。这份新的研究报告综合了大量的分析报告、行业文章和市场调查结果,形成一份实用指南,旨在帮助客户面对发展迅速、充满活力的BPM...
  • zozowit
  • zozowit
  • 2008年04月07日 10:26
  • 375
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux操作系统的口令安全问题详细解析
举报原因:
原因补充:

(最多只允许输入30个字)