Linux常用工具使用手册——用户组权限管理

本文介绍在Ubuntu系统下将普通用户提升到root权限的方法。一是知道root密码时,用“su -”命令切换;二是通过修改配置文件赋予权限,如将用户加入admin或sudo组,或在/etc/sudoers.d目录下配置单个用户权限,同时提醒勿修改/etc/passwd文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ubuntu下如何将普通用户提升到root权限

Ubuntu是一款linux操作系统,在linux系统中,用户被分为两种,第一种是root用户,只有一个用户,但是拥有最大的权限,可以做任何事。另外一类就是普通用户。只具有使用root用户分配的指定资源的权限。而如果普通用户想要使用root用户的权限呢?下面我们一起来看怎么给普通用户提升到root权限。

一、切换root用户

  1. 第一种可能的做法是,你知道root用户的密码,这个时候你就可以通过

    su - 

    这个命令来切换到root用户,然后执行一系列root用户才能执行的命令以及操作。如下面图中所示,当前登录是一个普通用户office,这个时候打开终端的时候,命令行最前面显示的就是office

    Ubuntu下如何将普通用户提升到root权限

  2. 这台Ubuntu机器是我自己配置的,因此我知道root用户的密码,我执行su - 命令后,输入root用户的密码,就能切换到root用户,如下面图中所示,这个时候命令提示符最前面就变成了root字样。

    Ubuntu下如何将普通用户提升到root权限

  3. 然后我来执行root用户才能执行的操作,安装软件,命令如下:

    apt-get install nginx

    可以看到,能够正常安装。说明确实是root权限下的操作。

    Ubuntu下如何将普通用户提升到root权限

  4. 这种方式退出也比较简单,直接输入exit就能够退出root用户的身份。如下面所示,退出后,又变成了普通用户office

    Ubuntu下如何将普通用户提升到root权限

    END

二、通过配置文件来赋予root权限

  1. 上面这种方式比较直接,如果是你自己使用那么可能没什么问题。但是在服务器管理的时候,不可能随便把root密码告诉别人。这个时候如果其他用户需要进行一些需要root权限的操作的时候。就得通过修改配置文件来给普通用户赋予root用户的权限了。在Ubuntu中,可以修改的配置文件和目录主要有两个,分别是/etc/sudoers 和 /etc/suders.d/ 前者是一个配置文件,后者是一个配置文件目录,如下面所示,下面我们来依次讲解这两种做法。

    Ubuntu下如何将普通用户提升到root权限

  2. 我们先看来/etc/sudoers这个文件。这个文件只能由root用户来处理,因此我首先切换到root用户。然后来查看一下这个文件中的内容。如下面所示,从这个文件中,我们可以看到两段内容,分别是:

    %admin     ALL=(ALL)    ALL

    %sudo       ALL=(ALL)    ALL

    这两段内容的含义就是,在admin和sudo组的用户,可以使用root用户的所有权限。也就是说,只要一个普通用户被加入到这两个组里,就可以使用root权限。

    Ubuntu下如何将普通用户提升到root权限

  3. 下面我们来看刚才登录系统时使用的普通用户office,查看用户信息的命令是id比如我们想看office用户的信息,命令就是;

    id office

    显示的结果如下,从显示的信息中我们可以看到,在groups里有sudo,也有admin这两个组的信息。说明office用户被加入到了root权限组。

    Ubuntu下如何将普通用户提升到root权限

  4. 我们来验证一下,普通用户执行root用户才能执行的命令的时候,需要在命令之前加上sudo,比如刚才root用户安装nginx时候命令是:

    apt-get install nginx

    那么office用户安装nginx命令就是

    sudo apt-get install nginx

    我们依次执行两种格式的命令,如下所示。从图中我们可以看到,不带sudo执行的时候会提示are you root,问你是不是root。但是带sudo执行的时候,则没有这个提示,而是直接执行安装程序,读取安装列表。说明office用户这个时候确实是有root权限的。

    Ubuntu下如何将普通用户提升到root权限

  5. 最后我们再次验证,创建一个新的普通用户test,命令是:

    useradd test 

    然后使用命令id test查看test的信息,可以看到groups里只有一个test。再将它添加到sudo组里面去,命令是:

    usermod -a  -G test -s /bin/bash sudo

    添加完成后,修改它的密码,命令是:

    passwd test

    最后再用id test命令查看它的信息,可以看到groups里多了一个sudo组。如下所示:

    Ubuntu下如何将普通用户提升到root权限

  6. 添加完毕后,我们再次依次执行命令

    apt-get install nginx

    sudo apt-get install nginx

    结果如下所示,可以看到,不带sudo命令会问你是不是root用户,同时报错。带sudo命令的时候,可以成功执行安装nginx的命令,但是因为之前已经安装过,所以这里提示 already installed。说明test用户确实获取了root权限,这种方法是有效的。

    Ubuntu下如何将普通用户提升到root权限

  7. 我们再看第二种方式,这种方式是将单个用户的root权限配置到/etc/sudoers.d目录下的文件里,文件名和用户名相同。我们还是以test用户为例,刚才我们将它添加到了sudo组里,让它拥有了root权限,限制我们把它从这个组里踢出来。命令是:

    gpasswd -d test sudo

    可以看到提示,已经将test移出sudo组。踢出来以后,再执行

    sudo apt-get install nginx

    会看到提示,它没有这个权限。

    Ubuntu下如何将普通用户提升到root权限

    Ubuntu下如何将普通用户提升到root权限

  8. 这个时候,我们执行下面这条命令,用root用户来执行:

    echo "test    ALL=(ALL)    ALL" >> /etc/sudoers.d/test

    这个命令的意思是把双引号引起来的内容输出到/etc/sudoers.d/目录下的test文件中去,双引号引起来的内容就是给test用户赋予root权限。修改完成后,还要将这个文件的权限修改为0440,命令是:

    chmod  0440 /etc/sudoers.d/test

    如下所示:

    Ubuntu下如何将普通用户提升到root权限

  9. 执行完毕以后,我们再切换回test用户,然后再执行

    sudo apt-get install nginx

    这个命令,来看一下执行过程。如下所示,可以看到,能够顺利执行安装nginx的命令。说明它已经具有了root的权限。到这里,3种方式让普通用户获取root权限的方式讲解完毕。

    Ubuntu下如何将普通用户提升到root权限

    最好不要去修改/etc/passwd文件,原因有两个,第一你可能没有修改这个文件的权限,第二,这样做非常不安全。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值