1. /etc/passwd文件详解
输入vi /etc/passwd 可以查看此文件的内容
[root@localhost ~]# vi /etc/passwdroot:x:0:0:root:/root:/bin/bash root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin
每行保存了一个用户的详细信息,查看此服务器有多少账号:
[root@localhost~]> cat /etc/passwd | wc -l38
则代表本机一共有38个账号
Passwd文件由许多条记录组成,每条记录占一行,记录了一个用户帐号的所有信息。每条记录由7个字段组成,字段间用冒号“:”隔开,其格式如下:
username:password:User ID:Group ID:comment:home directory:shell
字段含义:
-
1.username
它唯一地标识了一个用户帐号,用户在登录时使用的就是它。 -
2.password
加密之后的用户密码 -
3.userId
用户id。0是系统管理员账号,1-499是系统保留账号,500+即一般账号(centos6,cenos 7 为1000+) -
4.groupId
用户组id -
5.comment
用户相关注释 -
6.home directory
用户家目录 -
7.login command
用户登录自动执行脚本。指定为系统的sbin/nologin时,用户无法登陆
关于系统账号:
系统中还有一些默认的帐号(1-500),如daemon、bin等。这些帐号有着特殊的用途,一般用于进行系统管理。这些帐号的口令大部分用(x)号表示,代表它们不能在登录时使用。
/etc/shadow文件详解
这个文件单独保存用户的密码相关信息. 文件的大致形式如此:
wyf:$6$Jhodyovx$wgT7....Lf0:0:3:10:3:0:: ntp:!!:17092:::::: mysql:!!:17094:::::: natasha:!!:17095:0:99999:7::: harry:!!:17095:0:99999:7:::
以:分割,有九个栏位:
-
用户名
-
密码
用户的真正密码保存处。当这个栏位为‘*’或是'!'表示这个用户不会被用来登陆,一般来说,‘*’代表系统服务用户 -
最近更改密码的日期
这个栏位记录了‘更动密码的那一天’的日期。以 1970 年 1 月 1 日作为起始到如今的天数。 -
密码不可被变动的天数
如果为0,表示密码随时可以更动的意思。如果设定为 20 天的话,那么当你设定了密码之后, 20 天之内都无法改变这个密码。 -
密码需要重新变更的天数
必须要在这个时间之内重新设定你的密码,否则这个帐号将会暂时失效。如果是99999,密码则不需要重新变更。 -
密码需要变更期限前的警告期限
-
.密码过期的恕限时间
当密码失效后,你还可以用这个密码在 n 天内进行登入。如果过了这个期限还是没有重新更改密码,则账号失效,无法登入。 -
帐号失效日期
这个栏位表示: 这个帐号在此栏位规定的日期之后,将无法再使用。 这个栏位会被使用通常应该是在‘收费服务’的系统中, 你可以规定一个日期让该帐号不能再使用 -
保留
最后一个栏位是保留的,看以后有没有新功能加入。
举个离子:
dmtsai:$1$8zdAKdfC$XDa8eSus2I7nQL7UjRsIy/:13025:5:60:7:2:13125:
1.最近一次更动密码的日期是 2005/08/30 (13025);
2.能够修改密码的时间是 5 天以后
3. 使用者必须要在 2005/09/04 到 2005/10/29 之间的 60 天限制内去修改自己的密码,若 2005/10/29 之后还是没有变更密码时,该帐号就会宣告失效;
4.如果使用者一直没有更改密码,那么在 2005/10/29 之前的 7 天内,系统会警告 dmtsai 应该修改密码的相关资讯
5.如果该帐号一直到 2005/10/29 都没有更改密码,由于还有两天的恕限时间,因此, dmtsai 还是可以在 2005/10/31 以前继续登入
6.如果使用者在 2005/10/29 以前变更过密码,那么那个 13025 的日期就会跟著改变,因此, 所有的限制日期也会跟著相对变动
7.无论使用者如何动作,到了 13125 ,大约是 2005/12/8 左右,该帐号就失效了
/etc/group文件详解
Linux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件。linux /etc/group文件是有关于系统管理员对用户和用户组管理的文件,linux用户组的所有信息都存放在/etc/group文件中。
将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不 同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
用户组的所有信息都存放在/etc/group文件中。此文件的格式是由冒号(:)隔开若干个字段,这些字段具体如下:
-
组名
祖名不能重复 -
口令
口令字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。 -
组标识号
组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组。别称GID -
组内用户列表
是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组
文件内容:
[root@localhost test6]# cat /etc/grouproot:x:0:root,linuxsir bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin
/etc/group文件详解
/etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。
/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。
比如我们不想让一些非用户组成员永久拥有用户组的权限和特性,这时我们可以通过密码验证的方式来让某些用户临时拥有一些用户组特性,这时就要用到用户组密码。
[root@localhost~]> cat /etc/gshadow root:::harry,root bin:::bin,daemon daemon:::bin,daemon sys:::bin,adm
组名:口令:组管理者:组内用户列表
-
组名
-
口令:用户组密码,这个段可以是空的或!,如果是空的或有!,表示没有密码
-
组管理者:这个字段也可为空,如果有多个用户组管理者,用,号分割
-
组内用户列表:如果有多个成员,用,号分割 ;
用户组之间的切换,应该用 newgrp ,这个有点象用户之间切换的su ;我先举个例子:
[beinan@localhost ~]$ newgrp linuxsir
[beinan@localhost ~]$ mkdir lingroup [beinan@localhost ~]$ ls -ld lingroup/ drwxr-xr-x 2 beinan linuxsir 4096 10月 18 15:56 lingroup/ [beinan@localhost ~]$ newgrp beinan [beinan@localhost ~]$ mkdir beinangrouptest [beinan@localhost ~]$ ls -ld beinangrouptest drwxrwxr-x 2 beinan beinan 4096 10月 18 15:56 beinangrouptest
可以看到,切换分组之后,创建出来的文件所属组发生了变化。
/etc/group文件详解
在/etc/default/useradd文件为设置添加的用户规则文件
[root@localhost~]> cat /etc/default/useradd# useradd defaults file#用户组idGROUP=100#用户家目录路径HOME=/home#是否启用帐号过期停权,-1表示不启用INACTIVE=-1#帐号终止日期,不设置表示不启用。EXPIRE=#所用SHELL的类型SHELL=/bin/bash#默认添加用户的目录默认文件存放位置。也就是说,当用户用useradd添加用户时,用户主目录下的文件都是从这个目录中复制的。SKEL=/etc/skel#是否创建用户邮件缓冲,yes表示创建CREATE_MAIL_SPOOL=yes
/etc/gshadow文件详解
etc/login.defs 是设置用户帐号限制的文件。该文件里的配置对root用户无效。
如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs
# *REQUIRED* required # Directory where mailboxes reside, _or_ name of file, relative to the # home directory. If you _do_ define both, MAIL_DIR takes precedence. # QMAIL_DIR is for Qmail # #QMAIL_DIR Maildir MAIL_DIR /var/spool/mail #创建用户时,要在目录/var/spool/mail中创建一个用户mail文件 #MAIL_FILE .mail # Password aging controls: # # PASS_MAX_DAYS Maximum number of days a password may be used. # PASS_MIN_DAYS Minimum number of days allowed between password changes. # PASS_MIN_LEN Minimum acceptable password length. # PASS_WARN_AGE Number of days warning given before a password expires. # PASS_MAX_DAYS 99999 #密码最大有效期 PASS_MIN_DAYS 0 #两次修改密码的最小间隔时间 PASS_MIN_LEN 5 #密码最小长度,对于root无效 PASS_WARN_AGE 7 #密码过期前多少天开始提示 # # Min/max values for automatic uid selection in useradd #创建用户时不指定UID的话自动UID的范围 UID_MIN 500 #用户ID的最小值 UID_MAX 60000 #用户ID的最大值 # # Min/max values for automatic gid selection in groupadd #自动组ID的范围 GID_MIN 500 #组ID的最小值 GID_MAX 60000 #组ID的最大值 # # If defined, this command is run when removing a user. # It should remove any at/cron/print jobs etc. owned by # the user to be removed (passed as the first argument). # #USERDEL_CMD /usr/sbin/userdel_local #当删除用户的时候执行的脚本 # # If useradd should create home directories for users by default # On RH systems, we do. This option is overridden with the -m flag on # useradd command line. # CREATE_HOME yes #使用useradd的时候是够创建用户目录 # The permission mask is initialized to this value. If not specified, # the permission mask will be initialized to 022. UMASK 077 # This enables userdel to remove user groups if no members exist. # USERGROUPS_ENAB yes #用MD5加密密码
原创文章,作者:21期王逸凡,如若转载,请注明出处:http://www.178linux.com/53727