认识帐号管理的灵魂文件(passwd和shadow)

关于某个用户的帐号的管理,最重要的就是/etc/passswd/etc/shadow;而关于用户群组的管理,最重要的就是/etc/group/etc/gshadow两个文件。

   下面来介绍一下关于用户管理的/etc/passwd/etc/shadow这两个个文件。

 

/etc/passwd的构造

它是一个纯文本文件,每行采用了相同的格式:

name:password:uid:gid:comment:home:shell ,如下面这段:

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/bin/sh

daemon:x:2:2:daemon:/sbin:/bin/sh

.............

说明:

--- 在这个文件中,每一行代表一个帐号,有几行就代表在系统中有几个帐号

--- 每一行使用“:”符合分割各项,共有7项,分别是:

1)“用户名”是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(,因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。

2)“口令”一些系统中,存放着加密后的用户口令字。。虽然这个字段存放的只是用户口令的加密串,不是 明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多 Linux 系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。

3)“用户标识号”是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。

通常用户标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。

4)“组标识号”字段记录的是用户所属的用户组。它对应着/etc/group文件中的一条记录。

5)“注释性描述”字段记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux 系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。

6)“主目录”,也就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。

7)用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Shell 是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。

 

/etc/shadow的构造

为了系统的安全,linux对密码采用了“影子机制”,用户的密码被转存到/etc/shadow文件中,次文件只要root能读,而同时/etc/passwd的密码只保留x,这样最大限度保证密码的安全。

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

username: passwd: lastchg: min: max: warn: inactive: expire: flag ,如下面这段:

root:$1$xkigrtllfgw4rhrm5nwQn:11979:7:::

bin:*:11979:0:99999:7:::

..................

其中:

和/etc/passwd一样,每行代表一个用户,使用符号“:”分割。

1、  username:用户名

2、  passwd:密码,如果为空,表示用户密码为空,如果是“*”,表示该用户有效但不能登录。

3、  lastchg:表示从197011到上次修改口令所经过的天数。

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

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

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

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

8、  expire:表示用户被禁止登陆的时间,其算法而3相同。

9、  flag:无意义,未使用,留做扩展。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值