Linux下etcpasswd⽂件详解
在Linux /etc/passwd⽂件中每个⽤户都有⼀个对应的记录⾏,它记录了这个⽤户的⼀些基本属性。系统管理员经常会接触到这个⽂件的修改以完成对⽤户的管理⼯作。这个⽂件对所有⽤户都是可读的。但是Linux /etc/passwd⽂件中都有些什么内容呢?
  root:x:0:0:root:/root:/bin/bash
  bin:x:1:1:bin:/bin:/sbin/nologin
  daemon:x:2:2:daemon:/sbin:/sbin/nologin
  desktop:x:80:80:desktop:/var/lib/menu/kde:/sbin/nologin
  mengqc:x:500:500:mengqc:/home/mengqc:/bin/bash
从上⾯的例⼦我们可以看到,/etc/passwd中⼀⾏记录对应着⼀个⽤户,每⾏记录⼜被冒号(:)分隔为7个字段,其格式和具体含义如下:   ⽤户名:⼝令:⽤户标识号:组标识号:注释性描述:主⽬录:登录Shell
  ⽤户名(login_name):是代表⽤户账号的字符串。通常长度不超过8个字符,并且由⼤⼩写字母和/或数字组成。登录名中不能有冒号(:),因为冒号在这⾥是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使⽤连字符(-)和加号(+)打头。
  ⼝令(passwd):⼀些系统中,存放着加密后的⽤户⼝令字。虽然这个字段存放的只是⽤户⼝令的加密串,不是明⽂,但是由
于/etc/passwd⽂件对所有⽤户都可读,所以这仍是⼀个安全隐患。因此,现在许多Linux系统(如SVR4)都使⽤了shadow技术,把真正的加密后的⽤户⼝令字存放到/etc/shadow⽂件中,⽽在/etc/passwd⽂件的⼝令字段中只存放⼀个特殊的字符,例如“x”或
者“*”。linux修改口令的命令
sql中date函数用法  ⽤户标识号(UID):是⼀个整数,系统内部⽤它来标识⽤户。⼀般情况下它与⽤户名是⼀⼀对应的。如果⼏个⽤户名对应的⽤户标识号是⼀样的,系统内部将把它们视为同⼀个⽤户,但是它们可以有不同的⼝令、不同的主⽬录以及不同的登录Shell等。取值范围是0-65535。0是超级⽤户root的标识号,1-99由系统保留,作为管理账号,普通⽤户的标识号从100开始。在Linux系统中,这个界限是500。
  组标识号(GID):字段记录的是⽤户所属的⽤户组。它对应着/etc/group⽂件中的⼀条记录。
  注释性描述(users):字段记录着⽤户的⼀些个⼈情况,例如⽤户的真实姓名、电话、地址等,这个字段并没有什么实际的⽤途。在不同的Linux系统中,这个字段的格式并没有统⼀。在许多Linux系统中,这个字段存放的是⼀段任意的注释性描述⽂字,⽤做finger命令的输出。python倒计时代码
  主⽬录(home_directory):也就是⽤户的起始⼯作⽬录,它是⽤户在登录到系统之后所处的⽬录。在⼤多数系统中,各⽤户的主⽬录都被组织在同⼀个特定的⽬录下,⽽⽤户主⽬录的名称就是该⽤户的登录名。各⽤户对⾃⼰的主⽬录有读、写、执⾏(搜索)权限,其他⽤户对此⽬录的访问权限则根据具体情况设置。
  登录Shell(Shell):⽤户登录后,要启动⼀个进程,负责将⽤户的操作传给内核,这个进程是⽤户登录到系统后运⾏的命令解释器或某个特定的程序,即Shell。Shell是⽤户与Linux系统之间的接⼝。Linux的Shell有许多种,每种都有不同的特点。常⽤的有
sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系统管理员可以根据系统情况和⽤户习惯为⽤户指定某个Shell。如果不指定Shell,那么系统使⽤sh为默认的登录Shell,即这个字段的值为/bin/sh。
  ⽤户的登录Shell可以指定为某个特定的程序(此程序不是⼀个命令解释器)。利⽤这⼀特点,我们可以限制⽤户只能运⾏指定的应⽤程序,在该应⽤程序运⾏结束后,⽤户就⾃动退出了系统。有些Lin
ux系统要求只有那些在系统中登记了的程序才能出现在这个字段中。
账号描述:
  1、
  系统帐号:系统中还有⼀些默认的帐号,如daemon、bin等。这些帐号有着特殊的⽤途,⼀般⽤于进⾏系统管理。这些帐号的⼝令⼤部分⽤(x)号表⽰,代表它们不能在登录时使⽤。
  bin拥有可执⾏的⽤户命令⽂件
  sys拥有系统⽂件
  adm拥有帐户⽂件
  uucpUUCP使⽤
php是什么的扩展名
  lplp或lpd⼦系统使⽤
  nobodyNFS使⽤
  2、除了上⾯列出的伪⽤户外,还有许多标准的伪⽤户,例如:audit,cron,mail,usenet等,它们也都各⾃为相关的进程和⽂件所需要。由于Linux /etc/passwd⽂件是所有⽤户都可读的,如果⽤户的密码太简单或规律⽐较明显的话,⼀台普通的计算机就能够很容易地将它破解,因此对安全性要求较⾼的Linux系统都把加密后的⼝令字分离出来,单独存放在⼀个⽂件中,这个⽂件是/etc/shadow⽂件。只有超级⽤户才拥有该⽂件读权限,这就保证了⽤户密码的安全性。
Linux⼝令管理之/etc/passwd⽂件:
  /etc/passwd⽂件是Linux/UNIX安全的关键⽂件之⼀.该⽂件⽤于⽤户登录时校验 ⽤户的⼝令,当然应当仅对root可写.⽂件中每⾏的⼀般格式为:
  LOGNAME:PASSWORD:UID:GID:USERINFO:HOME:SHELL
  每⾏的头两项是登录名和加密后的⼝令,后⾯的两个数是UID和GID,接着的 ⼀项是系统管理员想写⼊的有关该⽤户的任何信息,最后两项是两个路径名: ⼀个是分配给⽤户的HOME⽬录,第⼆个是⽤户登录后将执⾏的shell(若为空格则 缺省为/bin/sh).
 (1)⼝令时效
  /etc/passwd⽂件的格式使系统管理员能要求⽤户定期地改变他们的⼝令. 在⼝令⽂件中可以看到,有
些加密后的⼝令有逗号,逗号后有⼏个字符和⼀个 冒号.如:
  steve:xyDfccTrt180x,M.y8:0:0:admin:/:/bin/sh
  restrict:pomJk109Jky41,.1:0:0:admin:/:/bin/sh
  pat:xmotTVoyumjls:0:0:admin:/:/bin/sh
  可以看到,steve的⼝令逗号后有4个字符,restrict有2个,pat没有逗号.
  逗号后第⼀个字符是⼝令有效期的最⼤周数,第⼆个字符决定了⽤户再次 修改⼝信之前,原⼝令应使⽤的最⼩周数(这就防⽌了⽤户改了新⼝令后⽴刻 ⼜改回成⽼⼝令).其余字符表明⼝令最新修改时间.
  要能读懂⼝令中逗号后的信息,必须⾸先知道如何⽤passwd_esc计数,计 数的⽅法是:
  .=0 /=1 0-9=2-11 A-Z=12-37 a-z=38-63
动漫积积对积积的桶免费网站大全下载
  系统管理员必须将前两个字符放进/etc/passwd⽂件,以要求⽤户定期的 修改⼝令,另外两个字符当⽤户修改⼝令时,由passwd命令填⼊.
  注意:若想让⽤户修改⼝令,可在最后⼀次⼝令被修改时,放两个”.”,则下 ⼀次⽤户登录时将被要
求修改⾃⼰的⼝令.
  有两种特殊情况:
  .最⼤周数(第⼀个字符)⼩于最⼩周数(第⼆个字符),则不允许⽤户修改 ⼝令,仅超级⽤户可以修改⽤户的⼝令.
  .第⼀个字符和第⼆个字符都是”.”,这时⽤户下次登录时被要求修改⼝ 令,修改⼝令后,passwd命令将”.”删除,此后再不会要求⽤户修改⼝令.
(2)UID和GID
  /etc/passwd中UID信息很重要,系统使⽤UID⽽不是登录名区别⽤户.⼀般 来说,⽤户的UID应当是独⼀⽆⼆的,其他⽤户不应当有相同的UID数值.根据惯 例,从0到99的UID保留⽤作系统⽤户的UID(root,bin,uucp等).
  如果在/etc/passwd⽂件中有两个不同的⼊⼝项有相同的UID,则这两个⽤ 户对相互的⽂件具有相同的存取权限.
  /etc /group⽂件含有关于⼩组的信息,/etc/passwd中的每个GID在本⽂件中 应当有相应的⼊⼝项,⼊⼝
项中列出了⼩组名和⼩组中的⽤户.这样可⽅便地了 解每个⼩组的⽤户,否则必须根据GID在/etc/passwd⽂件中从头⾄尾地寻同组 ⽤户.
  /etc/group⽂件对⼩组的许可权限的控制并不是必要的,因为系统⽤UID,GID (取⾃/etc/passwd)决定⽂件存取权限,即使/etc/group ⽂件不存在于系统中,具 有相同的GID⽤户也可以⼩组的存取许可权限共享⽂件.
  ⼩组就像登录⽤户⼀样可以有⼝令.如果/etc/group⽂件⼊⼝项的第⼆个域 为⾮空,则将被认为是加密⼝令,newgrp命令将要求⽤户给出⼝令,然后将⼝令加 密,再与该域的加密⼝令⽐较.
  给 ⼩组建⽴⼝令⼀般不是个好作法.第⼀,如果⼩组内共享⽂件,若有某⼈猜 着⼩组⼝令,则该组的所有⽤户的⽂件就可能泄漏;其次,管理⼩组⼝令很费事, 因为对于⼩组没有类似的passwd命令.可⽤/usr/lib/makekey⽣成⼀个⼝令写⼊ /etc/group.does not exist
以下情况必须建⽴新组:
  (1)可能要增加新⽤户,该⽤户不属于任何⼀个现有的⼩组.
  (2)有的⽤户可能时常需要独⾃为⼀个⼩组.
  (3)有的⽤户可能有⼀个SGID程序,需要独⾃为⼀个⼩组.
  (4)有时可能要安装运⾏SGID的软件系统,该软件系统需要建⽴⼀个新组.
  要 增加⼀个新组,必须编辑该⽂件,为新组加⼀个⼊⼝项. 由于⽤户登录时,系统从/etc/passwd⽂件中取GID,⽽不是从/etc/group中 取GID,所以group⽂件和⼝令⽂件应当具有⼀致性.对于⼀个⽤户的⼩组,UID和 GID应当是相同的.多⽤户⼩组的GID应当不同于任何⽤户的UID,⼀般为5位数,这 样在查看/etc/passwd⽂件时,就可根据5位数据的GID识别多⽤户⼩组,这将减少 增加新组,新⽤户时可能产⽣的混淆.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。