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

用户/组管理(1)——Linux管理用户/组相关的文件详解

2015-10-14 15:59 871 查看
“Linux下一切皆文件”。我们想要了解Linux下用户/组的管理机制,就先从认识几个相关的配置文件开始吧!

/etc/passwd:以“一行一用户”的方式,记录了每个用户的信息

/etc/shadow:记录了每个用户的密码数据

/etc/group:以“一行一组”的方式,记录了每个用户组的信息

/etc/skel:宿主目录的模板目录

/etc/login.defs:用户账号的限制的配置文件

我们详细看看每个文件中的内容!





(1)/etc/passwd

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash

avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin

--->以【:】为分隔符,共7个字段

字段1:用户名

字段2:密码占位符

字段3:用户帐号的UID号

【UID=0:系统管理员;

UID={1-499}:系统用户(1-99为distribution自行创建的系统用户、100-499为自行创建的系统用户)

UID={500-60000}:普通用户】

字段4:用户所属组的GID号

字段5:用户描绘信息

字段6:用户的宿主目录

字段7:用户登录后用到的shell(/sbin/nologin表示用户以任何方式都不可登录)

(2)/etc/shadow

root:$6$XHwHKv5C$1.Q2A9E71ps5SaBE1BSy85/XbMp7CJpb3R7kFMSSkCx6l7zbYKyPH4yZjEsS3yCcbcY4ih5Ykx3GStTtKQJV81:15112:0:99999:7:::

adm:*:15422:0:99999:7:::

--->以【:】为分隔符,共9个字段

字段1:用户名

字段2:已加密的密码字段【*:表示加密后的密码;!!:表示用户被锁定

字段3:密码改动的日期

字段4:密码不可被改动的天数【默认0:表示随时可以改】

字段5:密码需要更改的天数【默认99999:表示永不过期】

字段6:需要更改密码期限前几天提醒【默认为7】

字段7:密码过期后的宽限日期

字段8:帐号失效日期【默认为空】

字段9:保留字段【未使用】

(3)/etc/group

root:x:0:

bin:x:1:bin,daemon

--->以【:】为分隔符,共4个字段

字段1:组名

字段2:密码占位符

字段3:GID

字段4:组成员列表(用“,”隔开)

(4)/etc/skel/*

宿主目录的模板目录(新建用户时会默认自动拷贝到宿主目录下的)

其中三个重要的必须文件

.bash_profile:用户每次登录时执行这个文件的内容

.bashrc:用户每次登录shell时执行这个文件的内容

.bash_logout:用户每次退出登录时执行这个文件的内容

--->由于其特性,可以添加一些命令或设置(如alias)实现用户登录时自动运行,/root/.bashrc就可以很好的运用

--->缺少这三个文件用户也可以验证,但无法登录,su切换时出现-bash-4.1#

(5)/etc/login.defs

这个文件记录的是用户创建时所遵循的一些设置与规则

MAIL_DIR /var/spool/mail //创建用户时在此目录中新建用户的mail文件

PASS_MAX_DAYS 99999

PASS_MIN_DAYS 0

PASS_MIN_LEN 5 //密码最小长度

[在root下给用户设置密码并不受这个约束]

[普通用户若要给自己修改密码,其密码长度要符合/etc/login.defs内部的约束,而且要符合复杂性要求(小写字母,大写字母,数字,特殊字符必须要包含三类)]

PASS_WARN_AGE 7

UID_MIN 500 //UID的最小值

UID_MAX 60000

GID_MIN 500

GID_MAX 60000

CREATE_HOME yes //useradd创建用户时是否默认创建宿主目录

UMASK 077 //宿主目录默认的权限为700

USERGROUPS_ENAB yes //新建用户时如果没有指定组,默认新建一个同名的组

ENCRYPT_METHOD SHA512 //密码加密的方式

所以总结来看,系统创建用户的流程如图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: