Linux命令(五)权限操作:su、sudo

一、 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    ALL       =  (ALL)        ALL

第一条路:

[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    touch    /etc/oldboy.txt

[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    useradd    kbk                   ##成功

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RootZY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值