Linux是多用户多任务的操作系统,因此,作为该种系统的网络管理员,掌握用户和组的创建与管理至关重要。
任务1.理解用户账号和组群
- linux系统下的账户分为两种:普通用户和超级用户(root)==windows系统下的Administrator
- 用户和组群的基本概念
-
概念
描述
用户名
用来标识用户名称
密码
用于验证用户身份身份的特殊验证码
用户标识uid
用来标识用户的数字标识符,具有唯一性
用户主目录
用户的私人目录,也是用户登录系统后默认所在的目录
登录shell
用户登录后默认的shell程序,默认为/bin/bash
不允许登录为/sbin/nologin=/bin/false
组群
具有相同属性的用户属于一个组群
组群标识gid
用来标识组群的数字标识符
系统用户的uid从1~999
普通用户的uid从1000~
普通组群的gid从1000~
4.常用的命令:
①:[root@localhost~]#cat /etc/redhat-release <查看虚拟机内核信息,版本>
②:组的区分
A:主组/基本组/私有组 -g 只能有一个
B:附加组/从属组 -G 可以有多个
任务2.理解用户账户文件和组群文件
①:[root@localhost~]#cat /etc/passwd <查看用户信息文件>
以root用户信息为例: root:x:0:0:root:/root:/bin/bash共7个字段,并以:进行了分割
第一个表示用户名,用户登陆系统时使用的用户名
第二个表示密码位
第三个表示用户uid
第四个表示缺省组gid
第五个表示注释性描述,离去存放用户名全名等信息
第六个表示宿主目录,也就是家目录
第七个表示命令解释器,用户使用的shell,默认为bash(允许登录)
②:[root@localhost~]#id 用户名 <查看用户信息>
③:[root@localhost~]#cat /etc/shadow
由于所有用户对/etc/password文件均有读取权限,为了增强系统的安全想,用户经过加密之后的口令都存放在/etc/shadow文件中。/etc/shadow只对root用户可读。
shadow文件字段说明
第一个:用户登录名
第二个:加密后的密码,*表示非登录用户<就是不能被登录>,!!表示还没设置密码
第三个:自1970年起到用户最近一次修改密码的天数
第四个:最短口令存活期
第五个:最长口令存活期
第六个:口令过期前几天提醒用户更改口令
第七个:口令过期几天后被禁用
第八个:口令被禁用的具体日期
第九个:保留域,用于功能拓展
*④:[root@localhost~]#vim /etc/login.defs <更改密码策略>
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
UID_MAX 60000 // 创建新用户产生的最大uid
GID_MIN 1000 // 创建新用户产生的最小gid
GID_MIN 60000 // 创建新用户产生的最大uid
USERDEL_CMD /usr/sbin/userdel_local
//删除用户时执行,删除相对应的计划作业和打印作业
CREATE_HOME yes //创建用户账户时是否为用户创建主目录
⑤[root@localhost~]# cat /etc/group <查看组群管理信息>
每一行的格式大概为:
组群名称:组群口令(一般为空,用X占位):GID:组群列表
⑥[root@localhost~]#cat /etc/gshadow <存放组群信息>
/etc/gshadow 存放着组群的加密口令,组管理等信息
每一行的格式:
组群名称:加密后的组群口令(没有就用!):组群管理员:组群的成员列表
任务3.管理用户账户
- 新建一个用户:
语法:
useradd [选项] 用户名
选项:
-c 用户的注释信息
-d 指定用户的主目录
-e 禁用账号的日期,格式为年—月——日
-f 设置账号过期多少天之后被禁用,如果为-1,账号过期后不禁用
-g 用户所属主组群的组群名称或者GID
-G 用户所属的附属组群列表,多个组群用逗号隔开
-m若用户组目录不存在则创建它
-M不要创建用户主目录
-n 不要为用户创建用户私人组群
-p 加密的口令
-r 创建uid小于500的不带主目录的系统账号
-s 指定用户的登录shell,默认为/bin/bash
-u 制定用户的uid
2.设置用户账户口令
passwd [选项] 用户名
选项:
-l 锁定(停用)用户账户
-u 口令解锁
-d 将口令设置为空,与没设口令不同
-f 强迫下次登录时必须修改口令
-n 口令存活最短实践
-x 口令存活最长时间
-w 口令到期前多少天提醒
-i 口令到期多少天停用账户
-S 显示账户口令的简短状态信息
3.chage命令--修改账户口令命令
语法:chage [选项】 用户名
选项:
-l 列出账户口令属性的各个数值
-m 指定口令的最短活期
-M 指定口令的最长活期
-W 口令到期前多少天提醒
-i 口令到期多少天后停用账户
-E 用户账户到期作废的时期
-d 设置口令上一次修改的日期
4.Usermod命令--修改用户账户
语法:usermod 【选项】 用户
选项:
-c 添加用户账户的备注信息
-d -m 参数-m与参数-d连用,重新指定用户的家目录,并把原来的数据迁移过去
-e 账户的到期时期 格式:年-月-日
-g 更改所属用户组
-G 更改拓展用户组
-L 锁定用户禁止其登录系统
-U 解锁用户,允许其登录系统
-s 变更默认终端
-u 更改用户的uid
5.userdel命令--删除用户账户
语法:userdel -r 用户名
加了-r命令更彻底
[root@localhost~]#tail -l /etc/shadow <可以看到那些用户被锁定,!!就是被锁定的账户>
任务4.管理组群
1.groupmod命令--修改组群命令
语法:groupmod [选项] 组群名
选项:
-g 把组群的GID改为gid
-n 把组群的名字改为
-o 强制接收更改的组的GID为重复的号码
2.gpasswd命令--为组群添加用户
语法:gpasswd [选项] [用户] [组]
选项:
-a 把用户加入组
-d 把用户从组中删除
-r 取消组的密码
-A 给组指派管理员
任务6.常用的账户管理命令
- vipw命令==vim /etc/passwd
- vigr命令==vim /etc/group
3.pwck命令
用来检测用户账户文件认证信息的完整性,检测/etc/passwd和/etc/shadow文件中的格式和值是否正确
4.grpck命令
用来检测组群账户文件认证信息的完整性,检测/etc/group和/etc/gshadow文件中的格式和值是否正确
5.id命令
语法:id [选项] 用户名
用法:显示一个账户的uid,gid和所属的组列表
6.whoami命令==id -un
显示当前用户的名称