愿君学长松,慎勿作桃李。这篇文章主要讲述LINUX用户组管理及提权相关的知识,希望能为你提供帮助。
用户组管理及提权
用户组管理
#相关文件
/etc/group
# cat /etc/group
root:x:0:
# 1.组名字 # 2.组密码占位符 # 3.GID # 4.显示该组的附加成员
/etc/gshadow
# cat /etc/gshadow
hhh076:!::xxx
# 1.组名字 # 2.组密码(空和!是没有密码) # 3.组管理员 # 4.显示该组的附加成员
# 相关命令
# 增 groupadd -[选项] 组名
-g:指定组的gid
-r:指定gid范围201-999之间的系统组
# 删groupdel 组名
# 改 groupmod -[选项] 组名
-g:修改组的gid
-n:修改组名字
用户身份切换
su
1,普通用户 切至 root或 2,root 切至 普通用户 (无需密码,随便切)
# su - username 切换
su - username代表进入登陆式shell
suusername代表进入非登陆式shell,他们之间的区别在于加载的环境变量不一样。
su -代表直接切换至root用户身份, 但需要输入root用户密码。
超级管理员root用户使用su - username切换普通用户不需要输入任何密码。
以某个用户的身份执行某个服务,使用命令su -c username
优点:简单,方便
缺点:需要知道root密码,不安全,切换到root没有日志审计功能
sudo
# sudo提权
当需要使用root权限时,进行提权,而无需切换至root用户。
# sudo的配置
# 安装sudo 命令
yum install -y sudo
# 修改sudo的配置文件配置sudo
vim/etc/sudoers
# 使用visudo命令配置sudo (推荐使用)
visudo
-c:检查sudoers文件的语法
#添加提权用户
zls ALL=(ALL) NOPASSWD:ALL (免密使用sudo)
xtt ALL=(ALL)ALL(xtt用户使用sudo时输入自己的密码)
不使用visuo提权
#将用户添加到提权组(推荐使用)
usermod 用户名 -aG wheel(提权组)
#可使用命令的配置
Cmnd_Alias ZLSCMD = /bin/cp,/bin/mv (只可使用命令)
Cmnd_Alias ZLSUNCMD =!/bin/rm,!/bin/su(不可使用命令,其余都可使用)
[xtt@xtt < sub> ]$ sudo cd /root
[sudo] password for xtt: (输入普通用户xtt的密码)
[xtt@xtt < /sub> ]$ sudo cat /root/test.sh(可以看root目录下的文件了)
#使用sudo 执行命令,该命令不可以是别名命令,sudo不走别名,只认识系统命令。
[xtt@xtt ~]$ sudo ll /root/test.sh
sudo: ll: command not found
优点:安全,方便
缺点:复杂
【LINUX用户组管理及提权】
shell的种类
交互式shell
非交互式shell
登录式shell :需要输入用户名和密码,才可以登录
非登录式shell :不需要输入用户名和密码,就可以登录
系统环境变量文件
## 局部环境变量
< sub> /.bashrc
< /sub> /.bash_profile
## 全局环境变量
/etc/profile
/etc/profile.d/*.sh
/etc/bashrc
## 加载顺序
1.登录式shell
/etc/profile
/etc/profile.d/*.sh
< sub> /.bash_profile
< /sub> /.bashrc
/etc/bashrc
2.非登录式shell
~/.bashrc
/etc/bashrc
/etc/profile.d/*.sh
推荐阅读
- 诺基亚猫棒G-010S-P刷机解决设备SN认证上网问题
- 百度信誉保障服务架构全解析
- 容器技术|Docker三剑客之docker-compose
- Linux 内核进程优先级与调度策略 ① ( SCHED_FIFO 调度策略 | SCHED_RR 调度策略 | 进程优先级 )
- Linux 内核 内存管理优化内存屏障 ① ( barrier 优化屏障 | 编译器优化 | CPU 执行优化 | 优化屏障源码 barrier 宏 )
- 基于 Serverless 架构的头像漫画风处理小程序
- VMware安装Fedora 35 Workstation及使用体验
- 老王读Spring Transaction从EnableTransactionManagement顺藤摸瓜,研究@Transactional的实现原理
- 开发环境Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )