普通用户如何临时获取root权限

时间:2024-03-13 20:38:32

转自:http://634871.blog.51cto.com/624871/1325907

在实际工作中,公司不会将root用户直接给员工使用,而是通过员工自己的账号临时获得系统的root权限。

1.我现在测试的环境是:red hat linux 6

1
2
[root@rhel1 xcg]# uname -a
Linux rhel1.kongzhong.com 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux

2.创建两个普通用户,分别为kongzhong,xcg ;并设置密码

[下面只演示一个账号的创建]

1
2
3
4
5
6
[root@rhel1 ~]# useradd xcg
[root@rhel1 ~]# passwd xcg
Changing password foruser xcg.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

3.下面有兴趣的可以切换到刚才创建的账号下,安装一些只有root权限才可以安装的软件,看普通用户是否有权限

4.赋予root权限,有三种方式,如下:

在修改时,我们发现此文件只读,所以,我们需要在root用户下,将权限改成可修改的权限,修改完后,记得将权限改为原来的440

1
2
3
4
5
6
7
[root@rhel1 ~]# cd /etc/
[root@rhel1 etc]# ll sudoers
-r--r-----1 root root 4002 Mar  2  2012 sudoers
[root@rhel1 etc]# chmod 755 sudoers
[root@rhel1 etc]# ll sudoers
-rwxr-xr-x. 1 root root 4002 Mar  2  2012 sudoers
[root@rhel1 etc]# chmod 440 sudoers      # 此步,在修改好/etc/sudoers里面的内容后,将权限还原

(1).方法一:修改 /etc/sudoers 文件,找到下面一行,在root下面添加两行,如下所示:

1
2
3
4
[root@rhel1 ~]# vim /etc/sudoers
root    ALL=(ALL)       ALL  
xcg     ALL=(ALL)       ALL                # 这个在切换时,是需要输入密码的,密码是当前普通用户的密码
kongzhong ALL=(ALL)     NOPASSWD:ALL       # 这个在切换时,不需要输入密码

修改完毕,用xcg,kongzhong帐号登录,

然后,执行sudo 命令,即可执行相应的命令;

或者 执行sudo su ,临时切换到root用户下,获取root权限。

(2).方法二:修改 /etc/sudoers 文件,去除下面这一行的注释,然后修改普通用户默认组为wheel

1
2
3
4
[root@rhel1 ~]# vim /etc/sudoers
%wheel    ALL=(ALL)    ALL    
然后,修改普通用户,使其属于wheel 组,命令如下:
[root@rhel1 etc]# usermod -g wheel kongzhong1

修改完毕,用kongzhong1帐号登录;

然后,执行 sudo 命令,即可执行相应的命令;

或者 执行sudo su ,临时切换到root用户下,获取root权限

(3).方法三:修改 /etc/passwd 文件,找到如下行,把用户ID修改为 0 ,如下所示:

1
2
3
4
[root@rhel1 ~]# vim /etc/passwd
kongzhong2:x:504:504:kongzhong2:/home/kongzhong2:/bin/bash
修改后如下
kongzhong2:x:0:500:kongzhong2:/home/kongzhong2:/bin/bash

保存,用kongzhong2账户登录后,直接获取的就是root帐号的权限。

以上三种方法,建议使用 第一种,第三种强烈不建议使用,企业也不会去使用。