如何在非root状态下用root身份执行命令行获取root权限

经过测试以root权限执行命令行获取root权限,只在真机上测试成功在模拟器上没有成功过。

第一次运行时会出现请求root权限的界面,选中记住并允许:


测试程序界面,如果已经root界面中可以显示出/system分区对应的设备节点:

}
root好像被禁用一样的!请问一下怎么进入ROOT以ROOT用户登录控制台谢谢了!... root 好像被禁用一样的!请问一下。怎么进入ROOT以ROOT用户登录控制台 谢谢了!

可选中1个或多个下面的关键词搜索相关资料。也可直接点“搜索资料”搜索整个问题

linux 为了保护核心文件root没有开启 通过下面方式设置

(输入密码,但不会在屏幕显示出*)

你对這个回答的评价是?

知道合伙人数码行家 推荐于

我最然懂的不多但是我愿用全力来帮助大家。如果有不周到之处还望大家海涵!

  這样就可以切换到root权限了

  然后这样也可以切换到root权限了.

你对这个回答的评价是?

你对这个回答的评价是

}

sudo意思就是super-user do让当前用户暂时以管悝员的身份root来执行这条命令行获取root权限。

su是用来改变当前用户的su root,就是将当前用户切换为root用了su root之后,下面所有的命令行获取root权限就可鉯不用打sudo了因为当前用户已经是管理员root了。

一个用户只能拥有一个 

 但是还可以归属于其它附加群组

切换到其它用户,默认切换到root用户提示密码为将切换用户密码 -f 快速切换,忽略配置文件-l 重新登录-m -p 不更改环境变量-c <命令行获取root权限> 切换后执行命令行获取root权限,并退出切換
以其它用户的身份执行命令行获取root权限默认以root的身份执行。提示密码为当前用户密码 -s 切换为root shell-i 切换为root shell并初始化-u <用户名|UID> 执行命令行获取root權限的身份-l 显示自己的权限
-d 清除密码-l 锁定用户-e 使密码过期,在下次登录时更改密码-S 显示密码认证信息-x <天数> 密码过期最大使用时间-n <天数> 冻結密码,最小使用时间-s 更改登录Shell-f 更改用户信息

默 认时Ubuntu为 sudo提供了一个基本的配置,该配置保存在/etc目录下的sudoers文件中在修改该配置文件时,務必使用visudo工具 来进行编辑因为该工具会自动对配置语法进行严格检查,如果发现错误在保存退出时给出警告,并提示你哪段配置出错从而确保该配置文件的正确性。相反

下面对以上配置做简要说明:

第 一项配置的作用,是允许root用户使用sudo命令行获取root权限变成系统中任哬其它类型的用户第二个配置规定,管理组中的所有成员都能以root的身份执行所有命 令因此,在默认安装的Ubuntu系统中要想作为root身份来执荇命令行获取root权限的话,只要在sudo后面跟上欲执行的命令行获取root权限即可下面用一个例子加以说明,如 果您想执行apt-get

上面的第一栏规定它的適用对象:用户或组就本例来说,它是用户jorge此外,因为系统中的组和用户可以重名要想指定该规则的适用对象是组而 非用户的话,組对象的名称一定要用百分号%开头

第二栏指定该规则的适用主机。当我们在多个系统之间部署sudo环境时这一栏格外有用,这里的ALL代表所囿主机但是,对于桌面系统或不想将 sudo部署到多个系统的情况这一栏就换成相应的主机名。

第三栏的值放在括号内指出第一栏规定的鼡户能够以何种身份来执行命令行获取root权限。本例中该值设为root这意味着用户jorge能够以root用户的身份 来运行后面列出的命令行获取root权限。该值吔可以设成通配符ALLjorge便能作为系统中的任何用户来执行列出的命令行获取root权限了。

最 后一栏(即/usr/bin/find, /bin/rm)是使用逗号分开的命令行获取root权限表這些命令行获取root权限能被第一栏规定的用户以第三栏指出的身份来运行它们。本例中该配置允许jorge作为超级用户运行 /usr/bin/find和 /bin/rm这两个命令行获取root權限。需要指出的是这里列出的命令行获取root权限一定要使用绝对路径。

3.sudo命令行获取root权限的使用方法

现在的问题是用户jorge怎样利用分配给怹的权限呢?其实很简单只要在命令行获取root权限行模式下使用sudo命令行获取root权限

倘若jorge企图执行/etc/sudoers文件规定之外的程序(比如find 或 rm)的话,sudo命令荇获取root权限便会以失败而告终并给出警告信息,指出他无权以超级用户身份来运行这些命令行获取root权限

要想以非root用户身份来运行命令荇获取root权限,必须使用-u选项来指定想要作为的用户;否则的话sudo会默认为root用户,比如要想以fred身份来 执行ls命令行获取root权限就应该这样:$ sudo -u fred ls /home/fred

就 潒您看到的那样,我们可以利用这些规则为系统创建具体的角色例如,要让一个组负责帐户管理你一方面不想让这些用户具备完全的root訪问权限,另一方 面还得让他们具有增加和删除用户的权利那么我们可以在系统上创建一个名为accounts的组,然后把那些用户添加到这个组里之后,再使用 visudo为/etc/sudoers添加下列内容:%accounts

现在好了accounts组中的任何成员都能运行useradd、userdel和usermod命令行获取root权限了。如果过一段时间后您发现该角色还需要 其他工具,只要在该表的尾部将其添上就行了这样真是方便极了!

需 要注意的是,当我们为用户定义可以运行的命令行获取root权限时必須使用完整的命令行获取root权限路径。这样做是完全出于安全的考虑如果我们给出的命令行获取root权限只是简单的userad而非 /usr/sbin/useradd,那么用户有可能创建一个他自己的脚本也叫做userad,然后放在它的本地路径中如此一来他就能够通过这个名为 useradd的本地脚本,作为root来执行任何他想要的命令行獲取root权限了这是相当危险的!

sudo命令行获取root权限的另一个便捷的功能,是它能够指出哪些 命令行获取root权限在执行时不需要输入密码这很囿用,尤其是在非交互式脚本中以超级用户的身份来运行某些命令行获取root权限的时候例如,想要让用户作为超级用户不必输入密码就能執 行kill命令行获取root权限以便用户能立刻杀死一个失控的进程。为此在命令行获取root权限行前边加上NOPASSWD:属性即可。例如可以在/etc/sudoers文件中加

通过鉯上介绍,我们发现sudo的确很好用但是如果您早就习惯了在root下工作,想回味一下过去的感觉该怎么办呢很简单,只要为root设置 一个root密码就荇了:$ sudo passwd root

好了现在您能直接作为root登录了。

}

我要回帖

更多关于 命令行获取root权限 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信