22.权限管理之 su 与 sudo
引入
在公司工作普通用户权限不够, 需要使用管理员权限的时候通常有两种解决方案
1.su 切换用户身份
-
特点: 使用普通用户身份登入, 然后使用 su 命令切换到 root 用户
-
优点: 简单
-
缺点: 需要知道 root 密码, 并且获得了所有root权限,不安全
2.sudo 提权
-
特点: 使用普通用户身份登入, sudo 命令获得 root 用户的部分管理权限(管理员设置好的)
-
优点: 1.不需要切换到root用户下,
2.不需要知道root密码, 输入的是自己的密码, 提升了安全性
3.权限控住更为精确, 可以控制普通用户之获取 root 用户部分权限
-
缺点: 设置相对比较复杂
一.su 切换用户
1.su 命令和选项
su [用户名]: 切换用户身份,不切换环境,切到root直接su,需要密码,root切到其他不需要su - [用户名]: 切换用户并切换用户环境su [用户名] -c [命令]:临时使用某个用户身份执行命令
2.BashShell 配置文件介绍
- 全局配置文件
- 个人配置文件
- 如果全局变量与个人个人变量冲突, 以个人配置为准
- 验证配置加载 : 使用 echo 在每个文件添加一行输出, 注意放在文件的第一行
2.登入式 shell
-
需要输入用户名和密码才能进入的 shell, 日常接触最多的一种
-
执行登入式 shell : 身份与环境都切换
- 加载配置文件的应用顺序
3.非登入式 shell
- 不需要输入用户名和密码就能进入 shell, 比如运行bash会开启一个新的会话窗口
- 执行非登入式 shell : 只切换用户身份, 不切换环境
- 加载配置文件的应用顺序
4.补充知识点
- Shell 的使用方式有两种
- 用户切换补充
二.sudo 提权
1.使用 root 用户修改配置文件两种方式
-
visudo (推荐)
-
vim /etc/sudoers
2.sudo 命令和选项
sudo –i –u [用户名]切换身份为某某用户sudo -u [用户名]使用指定的用户执行命令(一般是在root用户下)sudo -l列出用户在主机上可用的和被禁止的命令sudo -v再延长密码有效期限5分钟,更新时间戳(密码5分钟有效)sudo -k清除时间戳,下次需要重新输密码
3.授权规则格式
-
格式
user host=(runas) command
[用户] [主机IP或主机名]=[转成的用户身份] [命令]
示例: root ALL=(ALL) ALL
-
格式说明
user: 运行者的身份
host: 允许哪些用户使用哪些主机
(runas): 使用哪个用户身份运行,一般是(root)
command: 运行哪些命令
- 补充
4.示例
- 用户"song1"可以使用命令别名"MND"里的命令
- 命令别名"MND"包含了"cat /etc/shadow"命令
- 用户别名"ADMINS"里的用户可以使用"ifconfig"修改网卡配置
- 用户别名"ADMINS"包含了用户"song1"和"song2"
- 用户"song3"可以使用"root"的所有权限,但唯独不能"userdel"删除用户
本文来自博客园,作者:ଲ小何才露煎煎饺,转载请注明原文链接:https://www.cnblogs.com/zeny/articles/14443723.html

浙公网安备 33010602011771号