一、用户:是用来操作系统中不同功能的身份.(有三种用户)
- 超级用户:root用户是linux系统中默认的超级用户账号,具有至高无上的权利。 uid=0,gid=0
- 程序用户:在安装linux系统及部分应用程序时,会添加系统或某个程序的正常运行,如:ftp mail等。 uid=1~499;gid=1~499
- 普通用户:有root和其他管理员创建,拥有的权利有限。一般只在用户自己的宿主目录中拥有完整权限。 uid=500~60000;gid=500~60000
二、添加、修改、删除用户
1)useradd——添加用户 格式:useradd [选项] 用户名
- 常见选项 -u:指定用户uid;-d:指定用户的宿主目录 (与M一起使用不生效);-e:指定用户的账号失效时间;-g:指定用户的基本组;-G:指定用户的附加组;-M不建立宿主目录;-s:指定用户的登陆shell
2)passwd——设置密码 格式:passwd [选项] 用户名
- 常见选项 -d:清空指定用户的密码;-l:锁定用户账号;-S:查看用户账号的状态;-u:解锁用户账号
3)usermod——修改用户账号属性 格式:usermod [选项] 用户名
- 常见选项 (-u;-d;-e;-g;-G;-M;-s)和useradd一样;-l:更改用户的登陆名称;-L:锁定用户;-U:解锁用户
4)userdel——删除用户 格式:userdel [选项] 用户名
- 常见选项 -r:可同时删除宿主目录;-f:删除用户登入目录以及目录中所有文件。
三、添加、删除、修改组账号
1)groupadd——添加组账号
2)groupdel——删除组账号
3)gpasswd——添加、设置、删除组成员 语法:gpasswd [选项] 组名 用户名
- 选项 -a:添加成员;-d:删除成员;-M:指定组账号的多个用户
4)groupmod——更改群组识别码或名称。 语 法:groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]
- 选项 -g <群组识别码> 设置欲使用的群组识别码;-o 重复使用群组识别码;-n <新群组名称> 设置欲使用的群组名称。
四、查看用户的密码相关的时间
# chage -l root
Last password change : Jul 25, 2014
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
# chage -d 0 用户名 用户下次登录必须更改密码
chage -m 2 u1 修改密码最少使用天数
chage -M 50 u1 修改密码最大使用天数(密码过期时间)
chage -I 5 u1 密码过期后到账户失效的天数(密码过期后还能使用的天数)
chage -E "2019-3-5" u1 修改的是账户的过期时间
五、查询账号信息
1)groups—查询用户所属的组
2)id——查询用户的身份标识
3)finger——查询用户的登陆属性
4)chfn——修改用户相关信息
4)w——查询当前主机的用户登陆情况
5)whoami——查询当前用户
六、用户的相关文件
/etc/passwd: 保存用户信息的文件;如 root:x:0:0:root:/root:/bin/bash 用户名:密码占位符:UID:GID:描述信息:家目录:登录shell
/etc/shadow: 保存用户密码相关信息的文件;如 zhangsan:!!:16276:0:99999:7:::
1用户名
2加密后的密码 $6$:加密算法是sha512;$1$:加密算法是md5
3上一次密码修改时间(单位是天,是距离1970年1月1日多少天)
4密码最小生存周期 单位:天 0表示随时可以修改密码;2表示两天内不能修改
5密码最大生存周期 单位:天,密码使用的最长时间
6密码到期前几天开始警告
7密码过期之后到账户失效之前的时间限制 密码过期之后还可以用几天
8账户过期时间
9保留列
/etc/group: 保存组信息的文件;如 root:x:0: 组名:密码占位符:GID:用户列表
/etc/gshadow:保存组密码相关信息的文件 ;如 root::: 组名: 加密后的密码:组管理员:组成员
/etc/login.defs 默认创建新用户的配置文件
六、和用户登录相关的文件或目录
/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取
~username/.bashrc:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件
~username/.bash_profile:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
/etc/profile.d/*
profile类的文件:1.设定环境变量;2.运行命令或脚本
bashrc类的文件:1.设定本地变量;2.定义命令别名etc/rc.local 是系统开机后执行的最后一个脚本,一般被管理员执行一些系统开机运行的命令