Linux用户管理安全宝典:密码防破解与帐号文件保护

发表于:2010-10-09 10:12

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:李洋    来源:51Testing软件测试网采编

分享:

  2. 管理用户及组文件安全

  Linux操作系统采用了UNIX传统的方法,把全部的用户信息保存为普通的文本文件。用户可以通过对这些文件进行修改来管理用户和组。

  (1) 用户账号文件——passwd

  /etc/passwd文件是UNIX安全的关键文件之一。该文件用于用户登录时校验用户的登录名、加密的口令数据项、用户ID(UID)、默认的用户分组ID(GID)、用户信息、用户登录子目录以及登录后使用的shell。这个文件的每一行保存一个用户的资料,而用户资料的每一个数据项采用冒号“:”分隔。如下所示:

  LOGNAME:PASSWORD:UID:GID:USERINFO:HOME:SHELL

  每行的头两项是登录名和加密后的口令,后面的两个数是UID和GID,接着的一项是系统管理员想写入的有关该用户的任何信息,最后两项是两个路径名:一个是分配给用户的HOME目录,另一个是用户登录后将执行的shell(若为空格则默认为/bin/sh)。

  下面是一个实际的系统用户的例子:

  cracker:x:6018: 6018: cracker:/home/ cracker:/bin/bash

  该用户的基本信息为:

  1、登录名:cracker

  2、加密的口令表示:x

  3、UID:6018

  4、GID:6018

  5、用户信息:cracker

  6、HOME目录:/home/ cracker

  7、登录后执行的shell:/bin/bash

  用户的登录名是用户用来登录的识别,由用户自行选定,主要由方便用户记忆或者具有一定含义的字符串组成。

  所有用户的口令的存放都是加密的,通常采用的是不可逆的加密算法,比如DES(Data Encryption Standard,数据加密标准)。当用户在登录提示符处输入它们的口令时,输入的口令将由系统进行加密。再把加密后的数据与机器中用户的口令数据项进行比较。如果这两个加密数据匹配,就可以让这个用户进入系统。在/etc/passwd文件中,UID信息也很重要。系统使用UID而不是登录名区别用户。一般来说,用户的UID应当是独一无二的,其他用户不应当有相同的UID数值,只有UID等于0时可以例外。任何拥有0值UID的用户都具有根用户(系统管理员)访问权限,因此具备对系统的完全控制。通常,UID为0这个特殊值的用户的登录名是“root”。根据惯例,从0到99的UID保留用做系统用户的UID。如果在/etc/passwd文件中有两个不同的入口项有相同的UID,则这两个用户对文件具有相同的存取权限。

  每一个用户都需要有地方保存专属于自己的配置文件。这需要让用户工作在自己定制的操作环境中,以免改变其他用户定制的操作环境,这个地方就叫做用户登录子目录。在这个子目录中,用户不仅可以保存自己的配置文件,还可以保存自己日常工作用到的各种文件。出于一致性的考虑,大多数站点都从/home开始安排用户登录子目录,并把每个用户的子目录命名为其上机使用的登录名。

  当用户登录进入系统时,都有一个属于自己的操作环境。用户遇到的第一个程序叫做shell。在Linux系统里,大多数shell都是基于文本的。Linux操作系统带有好几种shell供用户选用。用户可以在/etc/shells文件中看到它们中的绝大多数。用户可以根据自己的喜好来选用不同的shell进行操作。按照最严格的定义,在上面所介绍的/etc/passwd文件中,每个用户的口令数据项中并没有定义需要运行某个特定的shell,其中列出的是这个用户上机后第一个运行的程序是哪个。综上所述,通过使用cat命令查看/etc/passwd文件(#cat /etc/passwd)。

  (2) 用户影子文件——shadow

  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

  如下所示的是一个系统中实际影子文件的例子:

  liyang:$1$ciY58zQZ$iKVHLSVZZgM75.lGp5Rmv.:14633:0:99999:7:::

43/4<1234>
重磅发布,2022软件测试行业现状调查报告~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号