• Ubuntu 18.04下普通用户的一次提权过程


    本文介绍了Ubuntu 18.04下普通用户的一次提权过程

    一.背景介绍:

    • 1.OS为Ubuntu 18.04.6 LTS
    • 2.docker服务非开机自启动,需要管理员手动启动(之前并不知道)
    • 3.重启后,数据盘也需要管理员手动挂载(之前并不知道)
    • 4.目前给我的帐号为普通用户
    • 5.我需要测试关掉IOMMU的效果,得进BIOS设置,服务器在远程,又遇到周末没人支持
    • 6.万幸我的帐号有–privileged启动容器的权限

    二.主要调试过程:

    • 1.以–privileged创建容器,安装ipmitool,设置BMC密码(不需要知道原始密码也能设置)
    • 2.通过BMC的控制台进入BIOS设置,关掉IOMMU,重启服务器
    • 3.进入OS发现docker服务没有启动,我又没有root权限,仅有BMC的权限
    • 4.通过BMC的控制台,重启服务器,发现选择不了ubuntu的启动项,不能借此进入恢复模式
    • 5.再次通过BMC的控制台,重启服务器,按F11,选择UEFI Shell
    • 6.在UEFI Shell中,备份grub.cfg,修改grub.cfg文件(设置为恢复模式)
      执行grubx64.efi,进入恢复模式,将我的用户名加入/etc/sudoers
      恢复grub.cfg,重启OS,我的帐号即可享有root权限

    三.相关命令:

    1.设置BMC密码,获取BMC IP

    docker run --gpus all --shm-size=32g -ti -e NVIDIA_VISIBLE_DEVICES=all \
            --privileged --net=host --rm nvcr.io/nvidia/pytorch:23.07-py3 /bin/bash
    
    # 1.安装ipmitool工具
    apt update
    apt install ipmitool  -y	
    
    # 2.查询BMC用户列表
    ipmitool user list 1
    
    # 3.修改admin的密码(admin用户对应的ID为2)
    ipmitool user set password 2 Hello@123
    
    # 4.获取BMC IP
    ipmitool lan print | grep "IP Address"
    

    输出

    ID  Name             Callin  Link Auth  IPMI Msg   Channel Priv Limit
    1                    true    false      false      Unknown (0x00)
    2   admin            false   false      true       ADMINISTRATOR
    
    Set User Password command successful (user 2)
    
    IP Address Source       : Static Address
    IP Address              : xxx.xxx.xxx.xxx
    

    2.找一台ubuntu搭建TFTP服务,用来替换grub.cfg文件

    apt install tftpd-hpa tftp-hpa
    
    tee /etc/default/tftpd-hpa <<-'EOF'
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/srv/tftp"
    TFTP_ADDRESS=":69"
    TFTP_OPTIONS="--secure"
    EOF
    mkdir -p /srv/tftp
    chown -R tftp:tftp /srv/tftp
    chmod -R 755 /srv/tftp
    systemctl restart tftpd-hpa
    systemctl enable tftpd-hpa
    

    3.从调试服务器的/boot/grub/grub.cfg中提取出recovery mode的配置,简化并生成新的配置文件grub.cfg,放在tftp服务的目录下/srv/tftp/grub.cfg

    普通用户有权限读取/boot/grub/grub.cfg,但无法修改

    tee /srv/tftp/grub.cfg <<-'EOF'
    set timeout=30
    function load_video {
      if [ x$feature_all_video_module = xy ]; then
        insmod all_video
      else
        insmod efi_gop
        insmod efi_uga
        insmod ieee1275_fb
        insmod vbe
        insmod vga
        insmod video_bochs
        insmod video_cirrus
      fi
    }
    
    menuentry "start" {
    	load_video
    	insmod gzio
    	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    	insmod part_gpt
    	insmod ext2
    	set root='hd0,gpt2'
    	if [ x$feature_platform_search_hint = xy ]; then
    	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  115cd86a-146b-4c35-8c00-59c537ec34a0
    	else
    	  search --no-floppy --fs-uuid --set=root 115cd86a-146b-4c35-8c00-59c537ec34a0
    	fi
    	echo    'Loading Linux 5.4.0-120-generic ...'
    	linux   /boot/vmlinuz-5.4.0-120-generic root=UUID=115cd86a-146b-4c35-8c00-59c537ec34a0 ro recovery nomodeset dis_ucode_ldr
    	echo    'Loading initial ramdisk ...'
    	initrd  /boot/initrd.img-5.4.0-120-generic
    }
    EOF
    

    4.UEFI Shell中操作步骤

    # 1.通过BMC的控制台,F11选择,进入恢复模式
    
    # 2.配置IP
    ifconfig -s eth1 static 192.168.1.100 255.255.255.0 192.168.1.1
    
    # 3.Ping上面的tftp服务器,确认网络通畅
    ping 192.168.1.200
    
    # 4.进入grub目录
    FS0:
    cd EFI\ubuntu
    
    # 5.备份grub.cfg
    cp grub.cfg grub.cfg.bk
    
    # 6.从tftp下载新的grub.cfg,并替换
    rm grub.cfg
    tftp 192.168.1.200 grub.cfg
    
    # 7.启动grub,进入恢复模式
    grubx64.efi
    
    # 8.选择root模式
    
    # 9.vim /etc/sudoers,把自己的用户名加进去
    
    # 10.恢复grub.cfg
    mv /boot/efi/EFI/ubuntu/grub.cfg.bk /boot/efi/EFI/ubuntu/grub.cfg
    
    # 11.reboot
    

    四.截图

    在这里插入图片描述
    在这里插入图片描述!

  • 相关阅读:
    大数据在电力行业的应用案例100讲(二十)-数字化场景应用电力计量器具需求分析
    Python 实现梯度下降算法总结
    最常用模式
    计算机网络基础知识
    数据结构中,索引存储和散列存储区别较为详细的介绍
    第二证券|11月制造业PMI为48.0% 专家预计12月将出现边际改善
    jetpac--navigation
    V831——AprilTag标签识别
    java计算机毕业设计基于安卓Android的校园快药APP-药店管理app
    小米AI实验室4篇论文入选语音技术顶会INTERSPEECH 2022
  • 原文地址:https://blog.csdn.net/m0_61864577/article/details/139707731