zoukankan      html  css  js  c++  java
  • day12 Linux用户权限提升

    day12 Linux用户权限提升

    1.什么是环境变量?

    环境变量就是用户登录时设置的一些准备环境

    2.环境变量位置

    先查看普通用户的家目录的隐藏文件ll -a,环境变量是隐藏文件(隐藏文件就是以.开头的文件)

    个人配置文件:只对个人用户生效

    ~/.bash_profile
    
    ~/.bashrc
    

    全局配置文件对所有的用户都生效(root用户和普通用户)

    /etc/profile
    /etc/profile.d/*.sh
    /etc/bashrc

    环境变量生效顺序

    而登录式shell和非登录式shell的运行形式如下:
    • 登录式shell:
      • 正常通过某终端登录的shell。
      • su - username。
      • su -l username。
    • 非登录式shell:
      • su username。
      • 图形终端下打开的命令窗口。
      • 自动执行的shell脚本。

    登录式shell配置文件执行顺序:

    1./etc/profile
    2./etc/profile.d/*.sh
    3.~/.bash_profile
    4.~/.bashrc
    4./etc/bashrc

    非登录式shell配置文件执行顺序:

    1.~/.bashrc
    2./etc/bashrc
    3./etc/profile.d/*.sh

    让普通用户可以以root身份执行rm和yum命令

    第一步:使用root在/opt/下创建文件

    touch /opt/root.txt

    第二步:编辑sudoers配置文件

    vim /etc/sudoers

    在最后一行添加,不要修改原来的内容

    Linux ALL=(ALL)/usr/bin/rm,/usr/bin/yum

    第三步:强制保存

    :wq!

    第四步 切换到普通用户测试

    su -Linux

    sudo -l

    rm -rf /opt/root.txt

    sudo rm -rf /opt/root.txt

    yum install tree -y

    sudo install tree -y

    报错总结:

    1.sudo配置的用户和你切换的用户不一样

    Linux ALL=(ALL) /usr/bin/rm,/usr/bin/yum

    su - oldboy

    2.特权命令的路径打错了

    比如:Linux ALL=(ALL) /usr/bin/rm,/user/bin/yum 其中usr写错了

    报错总结:

    1.命令路径没有写全,要使用绝对路径

    使用技巧:

    1.以后只要涉及到修改配置文件,修改之前先备份一份

    多用户多角色多命令配置

    需求:

    用户 角色 可以执行的命令
    ops1
    ops2
    运维 网络命令:ifconfig/ping
    软件命令:rpm/yum
    服务命令:service/systemctl
    进程命令:kill/killall
    dev1
    dev2
    开发 网络命令:ifconfig/ping
    服务命令:service/systemctl

    第1步 创建用户并配置密码

    useradd ops1

    useradd ops2

    useradd dev1

    useradd dev2

    echo "123" |passwd --stdin ops1

    echo "123"|passwd --stdin ops2

    echo "123"|passwd --stdin dev1

    echo "123"|passwd --stdin dev2

    第2步 使用visudo命令来编辑sudo的配置文件

    1.定义用户组

    user_Alias OPS = ops1,ops2

    user_Alias DEV = dev1,dev2

    2.定义命令组

    Cmnd_Alias NETWORKING = /sbin/ifconfig, /bin/ping
    Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/yum
    Cmnd_Alias SERVICES = /sbin/service, /usr/bin/systemctl start
    Cmnd_Alias PROCESSES = /bin/kill, /usr/bin/kill, /usr/bin/killall

    3.将用户组合命令组进行关联

    OPS ALL=(ALL) NETWORKING,SOFTWARE,SERVICES,PROCESSES
    DEV ALL=(ALL) SOFTWARE,SERVICES

    4.切换用户并测试

  • 相关阅读:
    Android设置RadioButton在文字的右边
    如何创建启动界面Splash Screen
    sqlite3 数据类型 批量插入
    为PopupWindow设置弹出动画效果
    android activity生命周期
    Eclipse快捷键大全
    SQLite的使用
    创建窗口式Activity
    Android中实现按钮自动隐藏
    android技术片段
  • 原文地址:https://www.cnblogs.com/zhaocheng690/p/15387197.html
Copyright © 2011-2022 走看看