Linux下用户的管理
1系统中为什么要存在用户?
用户是用来进行安全设定的,组是用来共享权力的。
附加组可以用来决定权限,一个用户不一定有附加组
初始组无法决定权限,一定有,但是不能更改
2用户存在的形态
用户是在系统中以表格和表格中的一系列字符出现的
3用户的配置文件
存放于/etc/passwd下,
构成 用户名称:密码:用户id:组id:用户说明:家目录:用户默认使用的shell
组的文件存放于/etc/group
构成: 组名称:密码:组id:附加组成员
用户的家目录:/home/username
用户的骨文件:/etc/skel.*(用户环境配置模板,在用户建立时自动复制到家目录)
4用户的查看与创建,删除
whoami 查看当前用户名称
id -u username 查看用户的id信息
id -g username 查看用户的组id信息
id -G username 查看用户的所有组id信息
id -gn username 查看用户的所有组name信息
用户的建立与删除、
建立:useradd westos 创建用户采用默认规则
useradd -u username 创建用户时设定用户的id信息
useradd -g username 创建用户时设定用户的组id
useradd -G username 创建用户时设定用户的附加组
useradd -c username 创建用户时设定说明文字
useradd -d username 创建用户时指定家目录
useradd -s username 创建用户时指定其所使用的shell
删除:userdel username 删除用户身份
userdel -r username 删除用户身份及系统配置文件
创建westos用户,
删除westos用户
组的创建
groupadd -g groupname 创建组指定组id
groupadd groupname 创建组
删除组
groupdel groupname
5用户的切换
su - username
超级用户切换到普通用户时不需要密码,低级用户切换到超级用户或者平级用户时需要后者的密码
在用户退出时需要执行命令exit ,若不这样做,我们就在shell下进行多次用户的切换,就会引起shell的异常
这时需要执行kill -9 PID,来关闭掉进程
6用户信息的修改
usermod -l newusername oldusername 修改用户的名称
usermod -u uid username 修改用户的名称
usermod -g groupid username 修改用户的组id
usermod -G 附加组id username 修改用户附加组
usermod -aG 附加组id username 增加用户的附加组
usermod -d 家目录 username 修改用户的家目录指向
usermod -md 家目录 username 修改用户的家目录指向,并重新命名
usermod -s shell username 修改用户的指定shell
7用户的认证信息
存放在/etc/shadow下
构成
用户名称:用户密码:密码最后一次修改时间:密码使用了多长时间:密码最短有效期:密码最长有效期:密码过期警告:密码非活跃期:帐号到期日:未设定用户自定义
用户的密码:采用md5 sha512对称加密 在vim /etc/login.defs下查询
passwd username 只有超级用户可以执行,用来修改用户的密码,不需要之前的密码
passwd 普通用户修改密码,需要用户的原密码
usermod -L username 冻结帐号(弱)
usermod -U username 解锁帐号(弱)
passwd -l username 冻结帐号(强)
passwd -u username 解锁帐号(强)
passwd -d username 清空密码
8权力下放
1.配置文件 /etc/sudoers
2.配置命令 visudo
用户名称 主机名称=(执行程序身份) 命令
然后切换到westos用户执行命令:sudo useradd linux