Linux系统中的用户管理
1.用户及用户组存在的意义
1)用户存在的意义
系统资源是有限的,如何合理分配系统资源?
在这个问题解决时必须要有连个资源配合
1.身份 account
2.授权 author
3.认证 auth
3A机制:3A机制组成系统中最底层的安全架构
2)用户组存在意义
用户组是一个逻辑容器
对用户进行归类和统一授权
2.用户及用户组在系统中的存在方式
电脑对数字敏感 id
人类对字符串敏感 名称
id <-------> 名称 必须要记录到文件当中用户才能存在
用户就是/etc/passwd文件中的一行字符
用户组存在的方式就是/etc/group 文件中的一行字符
用户查看
whoami who #查看当前用户
id -u #查看用户的用户id
id -g #查看用户主组id
id -G #查看用户所有的组的id
id -n #显示名称
id -gn #查看用户主组id并显示名称
id -Gn #查看用户所有的组的id并显示名称
用户id范围
0-65535
0: ##Linux超级用户ID
1-999: ##Linux系统自用ID
1000-65535: ##用户级ID
##以上ID设定规则都被记录在/etc/login.defs
用户切换
su - 用户 ## 其中 - 代表系统环境也切换
#注意在用户切换时当使用完用户身份要及时退出
#不要在一个shell中反复执行su命令
#在一个shell中反复执行su命令会导致环境错乱
4.用户涉及到的系统配置文件
/etc/passwd #用户身份信息文件
#用户名称:用户密码:用户di:用户组id:用户说明:用户家目录:用户默认
shell
/etc/group #组身份信息文件
#组名称:组密码:组id:组的附加成员
/etc/skel/.* ##用户环境配置文件模板
/etc/skel/.* ##用户环境配置文件模板
/etc/shadow #用户认证信息文件
/home/username #用户家目录
/var/spool/mail/username #用户邮箱文件
5.用户和用户组的建立及删除##
监控用户建立命令
监控用户命令
watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo ======;ls -l /home"
建立用户
useradd username #建立用户
useradd -u id username #uid :0-65535 #0超级用户 1-200 系统预留 201-999系统用户 1000-60000 用户级用户
useradd -g id username #主组id
useradd -G id username #附加组id
useradd -d dir username #指定用户家目录
useradd -M username #建立用户时不建立家目录
useradd -c word username #指定用户说明
useradd -s shell username #指定用shell
userdel -r username #用户删除 -r 表示用户的系统配置文件
groupadd groupname #组建立
groupadd -g id groupname #指定组建立
groupdel groupname #组删除
6.用户和用户组的信息管理
更改
usermod -l #更改用户名
usermod -u #更改用户id
usermod -g #更改主组id
usermod -G #更改用户附加组身份
usermod -aG #添加用户附加组身份
usermod -c #更改用户说明
usermod -d #更改家目录指向
usermod -md #更改家目录指向同时更改家目录名称
usermod -s #更改默认shell
usermod -L #冻结账号
usermod -U #解锁
groupmod -g #更改用户组id
当遇到进程运行无法删除,使用kill -9 进程号 强制结束 在删除 ps:存在不可控性
7.用户认证信息管理
/etc/shadow #文件内容说明
man 5 shadow #查看手册
passwd -S 用户名称 #查看密码状态
passwd ltm #只在root下可以执行“echo 123 | passwd --stdin ltm
passwd #普通用户下修改
passwd -l ltm #冻结 usermod -L ltm
passwd -u ltm #解锁 usermod -U ltm
passwd -d ltm #删除密码
密码使用天数
passwd -e ltm #修改密码,默认使用时间为了0,进入后必须修改一次密码
chage -d 0 ltm #修改密码,默认使用时间为了0,进入后必须修改一次密码,可定义时间。
密码最短有效期
passwd -n 1 ltm #几天内不能修改密码
chage -m 1 ltm #
密码最长有效期
passwd -x 40 ltm #40天内必须修改密码
chage -M 30 ltm #
密码过期警告#
passwd -w 2 ltm #账号还有几天过期提醒
chage -W 1 ltm #
认证非活跃天数#
passwd -i 2 ltm #账号到期后还能用多久 ,2天
chage -I 1 ltm #
#账号认证到期时间#
chage -E "2021-05-21" #到2021-05-21这一天将被冻结
8.用户权力下放
在系统中普通用户时无法执行系统管理命令的;
如果需要普通用户执行系统管理动作那么需要;
root用户进行授权
普通用户授权 sudo 命令前加
授权方法:
visudo #此命令作用是编辑/etc/sudoers并进行语法检测
在文件100行左右 #代码的规范性
which 命令 #查看命令路径#
hostname #查看主机名
username hostname NOPASSWD: #免密
#ltm用户 在Linux.westos.com 主机=(用户超级身份) 执行的命令#
ltm Linux.westos.com=(root) /usr/sbin/useradd
#westos用户 在Linux.westos.com 主机=(用户超级身份) 免密 执行的命令和执行的命令##usre
westos Linux.westos.com=(root) NOPASSWD: /usr/sbin/useradd,/usr/sbin/userdel
#利用逗号隔开
visudo 进入文件