Linux操作系统口令文件安全问题详细解析                
                
                    所属分类:
                        操作系统 / unix linux                    
                    阅读数:
                        69
                    
                        收藏 0赞 0分享
                    
                 
                
                    几乎所有的类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 
                                    
             
            
                
                samba共享目录权限问题
这篇文章主要介绍了samba共享目录权限问题,首先大家需要安装samba,然后在创建文件夹,具体创建方法和内容详情大家可以参考下本文
                    
                    收藏 0赞 0分享
Linux中的info指令详解
info是一种文档格式,也是阅读此格式文档的阅读器;我们常用它来查看Linux命令的info文档。接下来通过本文给大家介绍Linux中的info指令,需要的朋友参考下吧
                    
                    收藏 0赞 0分享
ubuntu16.04安装搜狗拼音的图文教程
在ubuntu16.04安装搜狗拼音,首先我们在官网上面下载最新的搜狗拼音输入法linux版本的,具体安装方法,本文给大家介绍的非常详细,需要的的朋友参考下
                    
                    收藏 0赞 0分享
Linux忘记root密码怎么办
这篇文章主要介绍了Linux忘记root密码的解决办法,本文给大家介绍了三个系统的修改方法,具体内容详情大家通过本文学习吧
                    
                    收藏 0赞 0分享
Ubuntu更换硬盘的教程
这篇文章主要介绍了Ubuntu更换硬盘的教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
                    
                    收藏 0赞 0分享
                 查看更多