用户管理
1.用户存在的意义
用户作为系统的使用者
2.组存在的意义
通过建立用户组,或者控制新建用户所在的用户组,可以控制用户访问系统的权限。
3.用户的查看
1)查看当前用户
whoami ##此命令用来查看当前用户
2)系统中用户的查看
id ##查看指定用户id信息
id
-u ##查看用户的uid
-g ##查看用户的gid
-G ##查看用户所在的所有组的id
-n ##显示名字而不显示id数字
4.用户切换
su-用户名称
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换也需要
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户
5.用户在系统中的存储方式
/etc/passwd
用户信息文件
用户名称:密码:uid:gid:说明:家目录:默认shell
/etc/group
用户组信息文件
组的名字:组密码:组id:组成员
/etc/shadows
认证信息文件
用户名称:用户密码
/etc/skel/.*
默认开启shell的配置,用户的骨文件
/home/username
用户的家目录
6.用户管理命令
1)用户的删除
userdel
userdel student ##删除用户但不删除用户的配置文件
userdel -r student ##删除用户并删除用户的配置文件
由于此处还未建立所以显示错误。
用户删除记得加上-r,否则删除不掉系统,给此用户配置的文件而导致删除不干净。
2)用户建立
用户信息监控命令(terminal先输入以下命令,再另开启一个terminal,以实施监控)
watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -1 /home' (watch -n 1 :每个一秒刷新一次)
useradd ##建立用户时,读取/etc/login.defs文件内容确定规则
useradd -u 8888 westos ##指定用户uid
useradd -g 21 westos ##指定用户初始组id,“21用户组必须是存在的”
useradd -G 21 westos ##指定用户附加组id,“21用户组必须存在”
useradd -c "hello" westos ##指定用户的说明
useradd -d /home/lee westos ##指定用户的家目录
useradd -s /bin/sh westos ##指定用户的默认shell
groupadd ##建立用户组
groupadd -g 888 ##建立用户组并指定用户组的id
groupdel ##删除用户组
我们可以看到监控区域的变化。
3)更改用户信息
usermod
usermod -l 新名称 westos ##更改用户的名称
usermod -u 6666 westos ##更改用户uid
usermod -g 21 westos ##更改用户的初始组
usermod -G 21 westos ##更改用户的附加组
usermod -aG 72 westos ##添加用户的附加组
usermod -G “” westos ##删除用户所有附加组的身份
usermod -c“hahah" westos ##指定用户说明文字
usermod -d /home/lee westos ##更改用户家目录指向
usermod -md /home/lee westos ##更改用户家目录
usermod -s /bin/sh westos ##更改用户的shell
usermod -L westos ##冻结用户
usermod -U westos ##解锁用户
用户即使被创建,他的各项参数也可以通过usermod加上各种参数来更改。
7.用户认证信息
/etc/shadows ##记录用户认证信息
此文件一共有九列:
用户名称:用户密码:用户密码最后一天被更改的时间;用户密码最短有效期限;用户密码最长有效期限;密码警告期限;用户非活跃天数;用户到期日;用户自定义列,目前没有启用
#用户名称#
用户密码
passwd westos ##更改westos密码
passwd -l westos ##在用户密码前加入“!!”(冻结密码,强度较强)
passwd -u westos ##解开已上锁的帐号
passwd -L westos ##在用户密码前加入“!”(锁住密码,强度较弱)
passwd -U westos ##解开已上锁的帐号
passwd -d westos ##清空westos密码
注意:
普通用户改密码时
1.必须知道当前永久原始密码
2.密码不能和帐号名称相似
3.密码不能时纯数字或纯字母
4.密码不能是有序的字母和数字的组合
用户密码最后一次被更改的时间
passwd -e westos ##会改变用户最后一次更改密码时间为0.
##用户在登陆时会被强制更改密码
chage -d 0 westos ##两个命令功能类似
#用户密码最短有效期#
passwd -n 1 westos ##westos用户在一天之内不能修改密码
chage -m 1 westos
#用户密码最长有效期#
passwd -x 30 westos ##设定westos在30天内必须该密码
chage -M 40 westos
#密码警告期限#
passwd -w 2 westos ##密码过期前两天有警告输出
#用户非活跃天数#
passwd -i 1 westos ##密码过期后仍可登陆系统的天数
chage -I 1 westos
#用户到期日#
chage -E 2018-11-11 westos ##westos用户在2018-11-11日会被冻结
#用户自定义列,目前没有启用#
8.用户授权
用户授权配置文件
/etc/sudoers
授权配置命令
visudo
规范操作
文件100行左右(:100)
普通用户 主机名称=(转换成的新的用户身份) 命令1, 命令2, 。。。
普通用户 主机名称=(转换成新的新用户身份) NOPASSWD:命令
那么,我们可不可以用普通用户来建立用户呢?试试就知道啦!
首先我们从超级用户切换到普通用户,建立 hello,根据提示,我们需要用root授权,先退出student,然后对/etc/sudoers文件进行授权配置,由于操作中,需要知道主机名称,所以在此hostname,得到主机名称为localhost,接下来我们进行visudo,在100行左右输入命令
在100行处输入以下命令:
然后退出并保存!重新建立用户,由于之前我建过一次hello ,所以此处建立world用户,输完密码,就完成啦,最后id一下看看呗~
当然此处还可以不用输入密码就建立用户,返回sudoers,在100行输入以下命令ok啦~
示例:
westos desktop0.example.com=(root) /user/sbin/useradd ##执行命令要密码
westos desktop0.example.com=(root) NOPASSWD: /usr/sbin/usersdd ##免密执行密令
su - westos
sudo(调用) useradd hello