Linux中用户和组中认证库和解析库的文件格式以及默认参数定义文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中用户和组中认证库和解析库的文件格式以及默认参数定义文件相关的知识,希望对你有一定的参考价值。
解析库:/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中用户和组中认证库和解析库的文件格式以及默认参数定义文件的主要内容,如果未能解决你的问题,请参考以下文章