# su
switch user
Change the effective user idand group id to that of USER
# sudo
switch user, do
execute a command as another user
# su和sudo出现的缘由
因为root用户的权限太大,破坏力太强,安全风险极高,所以通常情况下公司的服务器对外都是禁止root用户直接登录的
而运维组的小伙伴通常使用的都是普通用户,但是运维组内的小伙伴们在进行日常运维管理的过程中,经常需要获得某些root才有的管理权限才能完成任务,例如需要执行/sbin目录下的命令
# 问题
那么如何才能在不使用root用户直接登录操作系统的同时又能保证普通用户完成日常工作呢?
# 两种解决方案 1. su切换用户身份
特点:
使用普通用户登录,然后使用su命令切换到root账户下
优点:
简单粗暴
缺点:
1. 需要知道root密码
2. 权限控制不精细 每次都是获取所有root权限
2. sudo提取部分管理员权限
特点:
1. 使用普通用户登录,然后sudo命令提取root用户的部分管理权限,注意只是某部分,而不是全部。
2. 不需要切换到root账户下
优点:
相对复杂
缺点:
1. 不需要知道root密码,输入的是用户自己的密码
2. 权限控制更为精细 可以控制普通用户只获取部分root权限