拥有root权限提权让普通用户具有root权限

一.实践。

    (1).第一种是最常见的sudo这个命令。这个命令可以让普通用户拥有管理权限,/etc/sudoers是sudo命令的配置文件。

    在配置文件中它的基本格式为

               user MACHINE=command    

user :授权的用户名,也可以授权组名“%组名”的格式。

machine : 这个是主机名称

command : 要授权的命令,必须填写命令的完整路径。

 

   在配置文件中加入tom ALL=ALL 就可以让tom这个用户拥有root权限。


    (2).这一次我们要讲chmod这个命令中的特殊权限SetUID。

                     setUID的作用

       1.可以让普通用户执行命令的过程中会暂时获得root权限

       2.当执行ls -ld 命令时显现出的结果中,文件所属者里有s权限即为SetUID

例如:[[email protected] ~]# ls -ld /usr/bin/passwd

-rwsr-xr-x. 1 root root 30768 2月  22 2012 /usr/bin/passwd

       3.SetUID只能对二进制文件有效。

下面我为大家演示一下。      

[[email protected] ~]# chmod 4755 /bin/chmod

[[email protected] ~]# ls -ld /bin/chmod

-rwsr-xr-x. 1 root root 48712 6月  22 2012 /bin/chmod

  如上这条命令意思是让chmod这个命令有SetUID(简称SUID)权限。这是什么意思啊?这是应为让chmod这个命令能让普通用户使用。说到这一点,大家就该问chmod命令本身就可以让普通用户执行,怎么还学要给它设置为SUID权限呢?

  这是因为让普通的用户,用这个拥有SUID权限的chmod命令来授权其它只有root能用的命令。

比如说我想用fdisk命令  如下:

[[email protected] ~]$ whereis fdisk

       fdisk: /sbin/fdisk /usr/share/man/man8/fdisk.8.gz

       [[email protected] ~]$ ls -ld /sbin/fdisk

           -rwxr-xr-x. 1 root root 101288 2月  22 2013 /sbin/fdisk

    [[email protected] ~]$ chmod u+s /sbin/fdisk或[[email protected] ~]$ chmod 4755 /sbin/fdisk

       [[email protected] ~]$ ls -ld /sbin/fdisk

            -rwsr-r-x. 1 root root 101288 2月  22 2013 /sbin/fdisk

whereis命令意思是查找文件,也可以查找命令。然后查看它的权限是755,给这个命令设置为SUID权限,这个命令mmm这个普通用户就可以用了。如图:

想要用什么命令就可以用,但是这个也有个缺点,就是系统原来有SUID权限的都在普通用户中用不了。

  比如说passwd命令:

[[email protected] ~]$ ls -ld /usr/bin/passwd

-rwsr-xr-x. 1 root root 30768 2月  22 2012 /usr/bin/passwd

这个是系统本身就有的SUID权限

[[email protected] ~]$ passwd root

passwd: 只有根用户才能指定用户名称。

但是passwd可以对自己拥有改密码的权限。

时间: 2024-08-09 09:46:35

拥有root权限提权让普通用户具有root权限的相关文章

Linux命令sudo实现集权(提权)管理,防止超级权限泛滥

sudo小结1.别名要用大写2.使用"\"换行3.使用白名单策略,尽量不要赋予ALL权限(建议先关后开)4.禁止的权限放在最后,允许的权限放在前面,sudoers配置文件的权限匹配时从后到前的5.成员必须是存在的(用户必须存在)6."!"表示禁止权限7.命令.组员.组等,用","分隔开(英文逗号)8.组前面一定要带"%" su命令缺点1.普通用户需要知道root密码,并且切换到root用户下,才能使用root权限(超级权限)2

【AD】取消普通域用户帐号加域权限&授权特定普通域用户加域权限

通常来说,没有做什么特别的设定的话,都是手动加域,且使用的是管理员帐号,这种情况下是有风险的,容易被人记忆密码.所以,如果可以设置一个普通用户帐号,专门用来执行加域操作,就会降低此类风险.其实默认情况下,域每一个普通帐号都可以将10台电脑加入域内,这是一个很大的隐患.估计很多人都没有试过吧. 加域分两种,一种是将新电脑加入域内,一种是将已经加入过域的电脑,因为故障无法登录域或手动退域,原计算机帐号仍在的情况下加入域建立连接.第二种情况又分上次加域使用的帐号和当前加域使用的帐号是否相同且权限是否一

sudo提权实战讲解 对用户对组的权限配置分析

Linux是多用户多任务的操作系统, 共享该系统的用户往往不只一个.出于安全性考虑, 有必要通过useradd创建一些非root用户, 只让它们拥有不完全的权限; 如有必要,再来提升权限执行. sudo就是来解决这个需求的: 这些非root用户不需要知道root的密码,就可以提权到root,执行一些root才能执行的命令. 用公式讲解/etc/sudoers的内容sudo的权限控制可以在/etc/sudoers文件中查看到. 如果想要控制某个用户(或某个组用户)只能执行root权限中的一部分命令

Ubuntu无法sudo提权,报当前用户不在sudoers文件中错误

Ubuntu安装后默认root不能登陆系统,密码也是随机生成,其他用户使用root权限,可以使用sudo提权,前提是该用户在/etc/sudoers配置列表中. 但是有时用户名从/etc/sudoers被意外删除了,sudo不能用了,root又不知道root密码(之前没有改过或者忘记了),如果想修改/etc/sudoers也不可能了,进入了一个死循环. 但可以如下面的方法解决: 1.重启按shift键,进入Ubuntu高级模式,选择一个recovery mode进入,出现一个9个选项的菜单,如果

adore-ng笔记和Linux普通用户提权

官网:https://github.com/trimpsyw/adore-ng 安装: [[email protected] ~]# unzipadore-ng-master.zip [[email protected] ~]# cdadore-ng-master [[email protected] adore-ng-master]#rpm  -ivh/mnt/Packages/kernel-devel-2.6.32-220.el6.x86_64.rpm yum install gcc* [[

滥用DNSAdmins权限进行Active Directory提权

0x00 前言 除了在实现自己的DNS服务器功能之外,Microsoft还为该服务器实现自己的管理协议以便于管理与Active Directory域集成.默认情况下,域控制器也是DNS服务器; 大多数情况下每个域用户都需要访问和使用DNS服务器的功能.反过来,这会在域控制器上暴露出相当多的攻击面:一方面是DNS协议本身,另一方面是管理协议,它基于RPC.我们将深入研究DNS协议的实现并详细介绍一个非常棒的提权技巧.它允许我们在某些情况下不是域管理员在域控制器上也可以运行危险代码,虽然这并不是一个

Oracle数据库提权(低权限提升至dba)

0x01 Oracle存储过程”缺陷” 在 Oracle 的存储过程中,有一个有趣的特点:运行权限.运行权限分为两种,definer 和 invoker. definer 为函数创建者的权限,而 invoker 则是当前调用函数的用户.运行权限在函数创建时就已经被钦定了,默认为 definer. 说白了,如果我们用低权限用户去运行DBA权限用户创建的存储过程,我们在调用时就可以额访问DBA资源,使用DBA的权限 Oracle 这样做的初衷,实际上是为了用户互相访问资源时,避免用户凭据的问题.当然

xshell获取ubuntu的root用户远程连接权限

# xshell获取ubuntu的root用户远程连接权限因为默认ubuntu不能支持root直接远程连接,如果想更方便的在xshell上使用root远程连接需要进行如下配置: ## 1.获取root权限登陆使用 Root 用户在实际生产操作中,我们基本上都是使用超级管理员账户操作 Linux 系统,也就是 Root 用户,Linux 系统默认是关闭 Root 账户的,我们需要为 Root 用户设置一个初始密码以方便我们使用. 设置 Root 账户密码```javasudo passwd roo

mysql用root账户建立用户和赋予权限

1.创建用户 create user guest_test@localhost identified by "root";-- 创建名为guest_test的用户 2.赋予权限 -- 给guest_test用户赋予guest_test增删改的权限.第一个guest_test指数据库,第二个指用户名,hostname指指定ip grant create,alter,drop on guest_test.* to [email protected] -- 给guest_test用户赋予gu