Linux用户管理-配置文件分析
Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也能帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和用户口令。用户在登录时键入正确的用户名和口令后,才能进入系统和自己的主目录。
1、配置文件:
用户信息文件:/etc/passwd
密码文件:/etc/shadow
用户组文件:/etc/group
用户组密码文件:/etc/gshadow
用户配置文件:
/etc/login.defs
/etc/default/useradd
新用户信息文件:/etc/skel
登录信息:/etc/motd /etc/issue
账户类别:用户账号,组账号
识别方式:UID,GID【组账号不用来登录】
2、Linux用户账号分类
超级用户:root UID=0 GID=0 拥有最高权限
系统用户:UID=1~499 一般不能登录系统(/sbin/nologin)
其他用户:UID≥500 ,默认UID最大值为6000
3、Linux组账号分类
基本组(私有组):即每个用户的专属组,一般只有一个成员,组名与对应的用户名相同
附加组(公共组):即多个用户共同的组,一般有多个成员,组名由管理员指定
4、Linux用户账号的数据文件分析
1>/etc/passwd 每行对应一个用户的信息,以冒号分隔为多个不同字段
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
字段1:用户名:用户登录系统时使用的用户名
字段2:密码:密码位
字段3:UID:用户标识号
字段4:GID:用户组标识号
字段5:注释性描述:存放用户描述信息
字段6:宿主目录:用户登录系统后的缺省目录
字段7:命令解释器:用户使用的shell,默认为bshell /sbin/nologin 表示该用户不允许登录当前的Linux系统
2>/etc/shadow 每行对应一个用户的信息,以冒号分隔为多个不同字段
root:$1$MUp2R3LW$yqEsU.zcAH9DIv41FvMYm/:17363:0:99999:7:::
bin:*:15980:0:99999:7:::
字段1:用户名
字段2:加密口令,为*时表示该用户的登录shell为 /sbin/nologin
字段3:上次修改口令的时间,这个时间是从1970年1月1日开始算起
字段4:两次口令修改时间的最短天数,如果设置为0则禁用此功能,如果设置为7则表示自设置之日起7天后才能修改用户密码。默认值从/etc/login.defs文件中的PASS_MIN_DAYS获取
字段5:两次口令修改时间的最多天数,用于增强用户管理的时效性。即规定时间之内可以修改用户密码,超过日期则失效。默认值从/etc/login.defs文件中的PASS_MAX_DAYS获取
字段6:提前多少天提醒用户用户口令将过期。默认值从/etc/login.defs文件中的PASS_WARN_AGE获取
字段7:在口令过期多少天后禁止此用户登录
字段8:用户过期日期,此字段指定用户作废的天数(从1970年1月1日起),如果该字段为空则表示该账号永久可用
字段9:未开发字段
5、关于新添加用户的默认配置
/etc/default/useradd 主要指定:
宿主目录存放位置:HOME=/home
用户登录shell的默认路径:SHELL=/bin/bash
用户初始文件的模板目录:SKEL=/etc/skel
是否创建用户邮箱文件:CREATE_MAIL_SPOOL=yes
/etc/login.defs主要指定:
密码有效期的相关设置
UID默认范围:UID_MIN 500 UID_MAX 60000
GID默认范围:GID_MIN 500 GID_MAX 60000
是否创建宿主目录:CREATE_HOME yes
6、用户初始化配置文件
配置文件来源于新建用户时根据/etc/skel/中的模板目录(隐藏文件)
ls -al /etc/skel
-rw-r--r--. 1 root root 18 Jul 23 2015 .bash_logout
-rw-r--r--. 1 root root 176 Jul 23 2015 .bash_profile
-rw-r--r--. 1 root root 124 Jul 23 2015 .bashrc
.bashrc:每次进入新的bash环境时执行,多用于设置别名
.bash_profile:每次登陆时执行,用来设置环境变量
.bash_logout:每次退出登陆时执行
全局配置文件,对所有用户有效 /etc/bashrc /etc/profile