1.用户和组存在的意义
##首先我们要知道Linux系统是一个多用户多任务的分时操作系统,不同的用户在操作时可以互不影响,用户组可以更好的限定组内用户和其他组用户之间的权限,会更加的安全。
2.用户的查看
(1)whoami ##查看当前用户
(2)id student##查看指定用户的id信息id -u student##查看用户的uidid -g student##查看用户的gidid -G student##查看用户所在的所有的组idid -n student##显示用户,所属群组或附加群组的名称
##红线处的含义为不能在默认格式下只显示名称或真实id
3.用户切换gnome-session-quit --force##强制注销当前用户(不好看出效果所以不放图片)
su - westos##切换到用户westos
##su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
##su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
##注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户,不然多次切换后可能会出现图形错乱
4.用户在系统中的存储方式
(1)/etc/passwd##用户信息文件,格式如下图
##用户名称:密码:uid:gid:说明:家目录:默认shell
##默认shell的指令有哪些可以查看系统中/etc/shells文件
(2)/etc/group##用户组信息文件,格式如下图
##组的名字:组密码:组id:组成员
(3)/etc/shadows##认证信息文件
(4)/etc/skel/.* ##默认开启shell的配置,用户的骨文件
(5)/home/username##用户的家目录
5.用户管理命令
(1)用户的删除
userdel student##删除用户但不删除用户的配置文件userdel -r student##删除用户并删除用户的配置文件
(2)用户的建立
watch## 用户信息监控命令watch -n 1 "tail -n 3 /etc/passwd /etc/group;ls -l /home"
##查看/etc/passwd /etc/group 文件的后3行和 /home下的文件属性,且每1s刷新一次(ctrl+c退出监控)useradd westos ##建立一个新用户westosuseradd -u 7777 westos##建立一个用户且指定uid为7777useradd -g 21 westos##建立一个用户且指定初始组id为21,但是21这个用户组之前必须存在useradd -G 21 westos##建立一个用户且指定附加组id为21,但是21这个附加组之前必须存在useradd -c "hello" westos##建立一个用户且指定用户说明为hellouseradd -d /home/lee westos##建立一个用户且指定家目录为 /home/leeuseradd -s /bin/sh westos##建立一个用户且指定默认shell 为 /bin/shgroupadd westos##建立一个新的用户组westosgroupadd -g 666 westos##建立一个用户组并指定用户组的idgroupdel westos##删除用户组westos,不用加-r
6.用户信息的更改
usermod -l yy westos##把用户名称westos变为yyusermod -u 7777 westos##更改用户uid为7777usermod -g 72 westos##更改用户的初始组为72usermod -G 72 westos##更改用户的附加组72usermod -aG 21 westos##添加用户的附加组21usermod -G " " westos##删除用户所有附加组的身份usermod -c "haha" westos##制定用户的说明文字为hahausermod -d /home/lee westos ##更改用户家目录的指向usermod -md /home/lee westos##更改用户的家目录usermod -s /bin/sh westos##更改用户的shell
##用户信息的更改
cat /etc/shells查看所有的shell类型
##/sbin/nologin 和 /usr/sbin/nologin这两个shell属于系统用户使用,普通用户使用后无法登入用户使用
usermod -L westos ##冻结用户usermod -U westos ##解锁用户
7.用户认证消息
/etc/shadows##记录用户认证信息,格式如下图
将其分为[1] : [2] : [3] : [4] : [5] : [6] : [7] : [8] : [9]
[1] westos ##用户名称
[2] !! ##用户密码(用户的加密字符串,默认用的加密方式为sha512对称加密,如果加密字符串前出现"!"那么用户被冻结)
[3] 17895 ##用户密码最后一次被更改的时间(此时间计算是从1970-1-1开始计算的累计天数)
[4] 0 ##用户密码最短有效期(如果此位有设定数字,那么在此数字范围内的天数内是不能修改用户密码的)
[5] 99999 ##用户密码最长有效期(用户必须在此有效期内更新密码,如果超时会被冻结)
[6] 7 ##密码警告期限(在过期前制定天数内会发送警告信息给用户)
[7] ##用户活跃天数(此位默认为空,如果设定数值,那么在密码最长有效期过后仍然可以使用的天数)
[8]##用户到期日(默认为空,表示帐号一定会被冻结的时间点)
[9]##用户自定义列,目前没有启用
passwd -S student ##查看student用户密码信息
[2]用户密码passwd westos##更改westos密码(密码不会显示)passwd -l westos##在用户密码前加入“!!”passwd -u westosusermod -L westos##在用户密码前加入“!”usermod -U westos##在密码不为空时使用passwd -d westos##清空westos密码
##注意:当普通用户想改密码时
(1).必须知道当前用户原始密码
(2).密码不能和帐号名称相似
(3).密码不能是纯数字或纯字母
(4).密码不能是有序的字母和数字的组合
[3]用户密码最后一次被更改的时间
passwd -e westos##会改变用户最后一次更改密码时间为0
##用户在登陆时会被强制更改密码chage -d 0 westos##与上一个命令功能类似
[4]用户密码最短有效期
passwd -n 1 westos##westos用户在1天之内不能修改密码chage -m 1 westos##与上一个命令功能类似
[5]用户密码最长有效期
passwd -x 30 westos##设定westos在30天内必须改密码chage -M 30 westos
[6]密码警告期限
passwd -w 2 westos##密码过期前两天有警告输出chage -W 2 westos
[7]用户非活跃天数
chage -W 2 westos##密码过期后仍可登陆系统的天数chage -W 2 westos
[8]用户到期日
chage -W 2 westos ##westos用户在2018-11-11日会被冻结
[9]##用户自定义列,目前没有启用
8.用户授权
(1)hostname##查看本台电脑的主机地址
(2)/etc/sudoers##有关权力下放的文件vim /etc/sudoers##通过vim直接编辑文件,但是不提供语法检测visudo##通过该命令编辑文件,会提供语法检测
(3)visudo##进入文本100行左右(尽量规范)
(4)tom localhost=(root) /usr/sbin/useradd
##普通用户 主机名称=(赋予的用户身份) 命令
##此时普通用户tom在主机localhost上会以root身份执行useradd创建普通用户,但是会让tom输入自己的用户密码tom localhost=(root) NOPASSWD: /usr/sbin/useradd
##此时普通用户tom在主机localhost上会以root身份免密执行useradd命令
(5)su - tom##登陆student用户,准备测试useradd hello##尝试创建普通用户hello,显示没有权限sudo useradd hello##调用下放权力文件,成功创建普通用户hello