转自: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帐号的权限。

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

普通用户如何临时获取root权限的更多相关文章

  1. [root]既然sudo 可以暂时获取root权限,那么为何还需要root这个用户呢

    既然sudo 可以暂时获取root权限,那么为何还需要root这个用户呢 sudo 非root用户可以临时行使root权限,也就是非root用户可以操作该系统下的任何文件,仍然存在安全风险,怎么解释? ...

  2. Debian普通用户获取root权限|sudo的安装与配置

    Debian系统的普通用户需要安装软件时,往往会收到“Permission denied”的提示,这时候需要root权限.那么如何在不登陆超级管理员账户的前提下拥有root权限呢?对于大多数Linux ...

  3. 华为U8810的用户如何获取ROOT权限详细教程

    由于在论坛里看到有人在找这个手机的详细的root教程,所以刷机啦小编在这里整理了一下方便新手来操作,其实这个手机root起来还是蛮简单的,只需要一个root软件就可以了,相当于一键root了,在这里整 ...

  4. ubuntu 获取root权限

    实验环境: ubuntu 13.04 背景:现在有一台装有 ubuntu 的电脑,如何获取root权限? 方案一:进入单用户维护模式,重置root密码. 方案二:U盘挂载原根分区,修改/etc/pas ...

  5. [Android Pro] Android fastboot刷机和获取Root权限

    参考文章: https://developers.google.com/android/nexus/images 转载自:    http://www.inexus.co/article-1280-1 ...

  6. ADB工具 获取ROOT权限及复制文件方法

    adb push d:\tm3_sqlit.db data/zouhao/tm3_sqlit.dbadb pull data/zouhao/tm3_sqlit.db d:\tm3_sqlit.db a ...

  7. Android -- 程序判断手机ROOT状态,获取ROOT权限

    判断手机是否具有ROOT权限                                                            /** * 判断手机是否ROOT */ public ...

  8. Delphi编写的Android程序获取Root权限实现(2015.4.15更新,支持Android 4.4)

    借助谷歌,并经过本大侠施展坑.蒙.拐.骗.偷五大绝技,终于成功实现在Delphi下获取Root权限并将其扩展为一个完整功能更加完整的TQAndroidShell记录,在华为荣耀2(Android 4. ...

  9. android中获取root权限的方法以及原理(转)

    一. 概述 本文介绍了android中获取root权限的方法以及原理,让大家对android 玩家中常说的“越狱”有一个更深层次的认识. 二. Root 的介绍 1. Root 的目的 可以让我们拥有 ...

随机推荐

  1. C/C++中的结构体

    结构体定义 结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构.   结构体作用 结构体和其他类型基础数据类型一样,例如int类型,char类型 只不过结构体可以做成 ...

  2. LeetCode:Binary Tree Level Order Traversal I II

    LeetCode:Binary Tree Level Order Traversal Given a binary tree, return the level order traversal of ...

  3. 《Linux内核设计与实现》Chapter 3 读书笔记

    <Linux内核设计与实现>Chapter 3 读书笔记 进程管理是所有操作系统的心脏所在. 一.进程 1.进程就是处于执行期的程序以及它所包含的资源的总称. 2.线程是在进程中活动的对象 ...

  4. [原创]Net实现Excel导入导出到数据库(附源码)

    关于数据库导出到Excel和SQLServer数据导出到Excel的例子,在博客园有很多的例子,自己根据网上搜集资料,自己做了亦歌简单的demo,现在分享出来供初学者学习交流使用. 一.数据库导入导出 ...

  5. Android 中 appcompat_v7与各类资源报错问题

    最近导一个项目进eclipse弄了一天都弄不好,先总结如下 首先按照网上其他同志的导入sdk/extras下的appcompat_v7项目.然后 发现 我们这里已经更新到6.0了,也就是说,我们报错的 ...

  6. [C/C++基础] C语言常用函数strlen的使用方法

    函数声明:extern unsigned int strlen(char *s); 所属函数库:<string.h> 功能:返回s所指的字符串的长度,其中字符串必须以’\0’结尾 参数:s ...

  7. html的转码玉反转码

    function HTMLEncode(html) { var temp = document.createElement ("div"); (temp.textContent ! ...

  8. C# 6.0部分新特性

    Struct的默认构造函数和属性赋值 我看C# 6 introduce 提到这个功能.但vs2015搭载的NET4.6貌似还不支持这个.所以也不好判断. 属性赋值 /// <summary> ...

  9. [USACO2002][poj1946]Cow Cycling(dp)

    Cow CyclingTime Limit: 1000MS Memory Limit: 30000KTotal Submissions: 2468 Accepted: 1378Description ...

  10. 项目笔记---Windows Service调用Windows API问题

    概要 此文来自于最近一个“诡异”的Windows API调用发现Windows Service在调用某些Windows API的过程中失效,在经过漫长的Baidu,之后终于在StackOverFlow ...