一、 su        切换用户      
切换用户角色:从root变为oldboy就是切换用户角色
su   -   oldboy
-    加载新的环境变量
不使用-的问题
[root@oldboy ~]# su oldboy
[oldboy@oldboy root]$ pwd
/root                                            #还是root家目录
问题:10个管理员,管理服务器,su - root                 ##必须要root密码
若其中一个管理员,把密码改了,其他人登录不了。
找回丢失的root密码
1.重启系统。
2.进入单用户模式,不能上网。
于是,只把root密码留给少数核心管理人员,其他管理员就使用普通用户管理。
需要root权限的时候:用sudo
二、  sudo            提权
1.sudo管理:让普通用户执行某个命令的过程中拥有root权限,本身角色还是oldboy自己。
2.普通用户变成root用户所有方案:
1)su   -   root                                    #需要root密码
2)vim    /etc/sudoers
[root@oldboy ~]# ll    /etc/sudoers
-r--r-----. 1 root root 4328 9月  30 2020 /etc/sudoers
#只读模式,无法编辑。
3)suid,给一个命令设置suid权限,任何用户执行设置过的suid功能的命令都拥有root权限。
#从挂载的时候就已经被禁止了
以上几种情况都不能获取权限,应该怎么做?
3.使用命令visudo
1)语法1
root    ALL                =(ALL)       ALL
用户   所有主机       所有角色   所有命令
2)语法2
%wheel     ALL                =  (ALL)      ALL
用户组      所有主机         所有角色    所有命令
让普通用户变成管理员:
方法1:直接授权
oldgirl
第一条路:
[root@oldboy ~]# useradd    oldgirl
root@oldboy ~]# echo    123|passwd    --stdin    oldgirl
[root@oldboy ~]# su    -   oldgirl
[oldgirl@oldboy root]$ su    -    root                            #必须有root密码
密码:
#没有root密码,没走通.
第二条路:
[oldgirl@oldboy root]$ sudo    su   -   root                  #通过sudo提权
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。
[sudo] oldgirl 的密码:                                             ###只需要输入oldgirl自身密码即可。
oldgirl 不在 sudoers 文件中。此事将被报告。         ###没有提前配置,所以提示。
要想上面的路走的通,需要提前配置。
在root用户下    visudo
#103gg,o
oldgirl         ALL=(ALL)         ALL
然后以oldgirl用户执行切换
[oldgirl@oldboy root]$ sudo    su    -    root
[sudo] oldgirl 的密码:                                ###只需要输入oldgirl自身密码即可。
上一次登录:一 8月 30 02:44:11 CST 2021从 10.0.0.1pts/1 上
成功切换
方法2(了解):添加一个用户属于wheel组
[root@oldboy ~]# useradd    test7    -g    wheel
[root@oldboy ~]# id    test7
uid=6669(test7) gid=10(wheel) 组=10(wheel)
test7即为管理员
例题:实践应用
需求:进入/etc创建个test文件
实现:不授权all,只授权指定命令
两个命令:touch、useradd
1)先查命令全路径
[root@oldboy ~]# which    touch
/usr/bin/touch
[root@oldboy ~]# which    useradd
/usr/sbin/useradd
2)visudo           配置命令(全路径,用逗号分割),注意在oldgirl开始的授权上改
oldgirl          ALL=(ALL)      /usr/bin/touch, /usr/sbin/useradd
3)然后以oldgirl身份执行
[oldgirl@oldboy root]$ sudo
[sudo] oldgirl 的密码:
[oldgirl@oldboy root]$ ls    /etc/oldboy.txt                     #成功创建
/etc/oldboy.txt
[oldgirl@oldboy root]$ useradd    kbk                            #必须带sudo命令语法
useradd: Permission denied.
useradd:无法锁定 /etc/passwd,请稍后再试。
[oldgirl@oldboy root]$ sudo