您的位置:首页 > 运维架构 > Linux

Linux中用户和组中认证库和解析库的文件格式以及默认参数定义文件

2017-11-08 10:47 309 查看
解析库:/etc/passwd,/etc/group 组名和组的对应关系
认证库:/etc/shadow,/etc/gshadow 组密码的相关内容存储位置

与用户账户和组账户相关的文件有:
/etc/passwd
/etc/group
/etc/shadow
/etc/gshadow
/etc/default/useradd
/etc/login.defs(登录的默认属性)
/etc/skel(家目录默认存储文件)

/etc/passwd(用户的相关信息):
用户账户在/etc/passwd中的格式(新的用户账户使用追加的方式存贮在该目录下):
root:x:0:0:root:/root:/bin/bash
1 2 3 4 5 6 7



1:用户账户的登录名称;
2:使用“x”表示密码占位符,保证数据格式不发生变化(以前是密码的存放位置,为了用户账户的安全,为了保证位置格式不发生变化,用x代替);
3:用户的UID:
4;用户的GID,即该用户账户的基本组的ID;
5:注释信息,如:用户职位,用户完整名称等;
6:用户账户的家目录的绝对路径(必须是绝对路径);
7:用户账户的默认登录shell;

/etc/group(组账户的相关信息):
root:x:0:
1 2 3 4



1:组账户名称;
2:组账户密码占位符;
3:组账户的GID;
4:以该组为附加组的用户列表,多个用户名之间使用“,”分隔;

/etc/shadow(用户密码位置):
root:$6$rOs3gBYgL29jCae4$tDKZuPUfQm6g8U5G7ekA8kuVS/enhpHjOSdgFtDsUwde.qnCRtRicDUVQoBqyDL2ZrpxEid7xFWBY9YT/nuXF/: :0:99999:7: : :


以冒号分隔为1 2 3 4 5 6 7 8 9,九个位,含义分别如下:
1:用户账户的登录名;
2:密码的加密算法+salt+密码的加密结果;
3:最后一次修改密码的时间,其表示法为:从1970年1月1日到当前系统时间所表示的日期的天数;
4:用户密码的最短使用期限(多长时间内不能更改密码,如果为0表示随时更改密码,天数为单位);
5:用户密码的最长使用期限(多长时间内无须更改密码也可以正常登陆)
6:用户密码的使用时间在达到最长使用期限之前多少天开始,在用户登录到系统时发送警告消息,默认是7天;
7:用户过期之后的宽限期(密码过期之后还能使用,密码过期后在宽限期内登陆会提示更改密码,,在宽限期之外密码锁死,默认是无尽);
8:用户密码的绝对有效期,绝对失效时间,其表示法为:从1970年1月1日到指定日期所表示的日期的天数(绝对有效期到了密码绝对会失效);
9:保留,未被使用;

/etc/gshadow(组账户的密码认证信息):
root: : :
1 2 3 4



1:组账户的名称;
2:组账户的加密密码;
3:组管理员,现在已经废弃,保留为空;
4:以该组为附加组的用户账户的列表;

命令:
gpasswd:设置组的密码及管理组成员;
格式:gpasswd [option] GROUPNAME
-a USERNAME:将-a指定的用户添加至指定组;
-d USERNAME:将-d指定的用户从指定的组中删除;

newgrp:用一个新的组重新登录到系统;需要被指定的组有正确的密码设置(如果没有密码,则此次操作不能进行,注销后此命令恢复原来设置,想要永久有效,必须在文件中修改配置);
格式:newgrp [-] [group]

/etc/default/useradd:
作用:定义创建用户时的用户属性的默认值的文件



# useradd defaults file
GROUP=100 //在创建用户时,如果没有为用户指定基本组,系统会为用户指定一个与用户名相同的组作为其基本组;
HOME=/home //在创建用户时,如果没有为用户指定家目录,则会在/home目录中创建一个与用户同名的目录作为其家目录;
INACTIVE=-1 //在创建用户时,设定用户密码过期之后的宽限期,默认为-1,意为关闭用户密码过期宽限的功能,即宽限期为永远;
EXPIRE= //在创建用户时,设定用户密码的绝对失效日期,默认没有启用;
SHELL=/bin/bash //在创建用户时,设定用户的默认登录shell,默认值为/shell/bash;
SKEL=/etc/skel //在创建用户时,为用户的家目录提供的默认文件的模板;
CREATE_MAIL_SPOOL=yes //在创建用户时,是否直接为用户创建邮箱文件,默认创建;

/etc/login.defs:
作用:定义shadow_utils相关的属性,包括用户邮箱路径、密码的时间参数、UID和GID的范围,删除用户账户的命令、是否设置私有组(仅包含一个用户并作为该用户的主要组)、权限位掩码、家目录创建开关、密码的加密算法;




MAIL_DIR /var/spool/mail
//指定创建用户时为用户指定邮箱的路径

PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
//与密码的时间参数有关的设置

UID_MIN 1000
UID_MAX 60000
# System accounts
SYS_UID_MIN 201
SYS_UID_MAX 999
//指定默认的ID的选择范围

GID_MIN 1000
GID_MAX 60000
# System accounts
SYS_GID_MIN 201
SYS_GID_MAX 999
//指定默认的ID的选择范围

USERDEL_CMD /usr/sbin/userdel_local
//指定删除用户时使用的命令

CREATE_HOME yes
//是否在创建用户时为用户创建家目录

UMASK 077
//指定用户家目录的默认权限的掩码

USERGROUPS_ENAB yes
//是否开启私有组的开关

ENCRYPT_METHOD SHA512
//使用何种算法进行加密

/etc/skel(目录directory):
作用:为新创建的用户的家目录提供默认的文件;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux 用户和组