新闻资讯
看你所看,想你所想

root许可权

root许可权

root许可权

root许可权,系统许可权的一种,也叫根许可权,与SYSTEM许可权可以理解成一个概念,但高于Administrator许可权,root是Linux和unix系统中的超级管理员用户帐户,该帐户拥有整个系统至高无上的权力,所有对象他都可以操作。获得root许可权之后就意味着已经获得了系统的最高许可权,这时候你可以对系统中的任何档案(包括系统档案)执行所有增、删、改、查的操作。

基本介绍

  • 中文名:root许可权
  • 外文名:root
  • 类别:系统许可权
  • 作用:备份系统
  • 操作平台:Unix,Linux及其他类Unix系统

重置密码

作为Linux系统管理员,Linux忘记root密码怎幺办?或者是在不知道root密码,想强制更改root密码。本文章只针对grub方式引导的方式下如何破解Linux的root密码。我们知道在不知道root密码的情况下要通过runlevel运行级别为1扡就是我们通过所说的单用户模式是进行重置root密码。
下面我们就详细介绍一下如何破解Linux的root密码:
1、开启Linux系统,我这里用的是RedHat AS5版本的。进入grub引导选单,会出现下面的话:
”Press any key to enter the menu“,这时我们有3秒钟的时间来按任意键进入Grub选单,如何设定这个默认3秒钟时间,或者我们不想设定默认启动的系统,请参看:inittab设定。
2、进入grub选单,这里会列出本机所安装的多个作业系统,如果只有一个,那幺就只显示一个启动选单的。这时我们看启动选单框下面有一行,其中我们按"e"键进入grub编辑模式(注:这里的编辑只对本次启动有效,不保存入grub.conf档案的)
3、移动键盘,选择第二列kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quit 这一行,其中这里也就是我们可以重置root密码的关键。再根据萤幕下面的提示,我们按”e“键。进入编辑模式。
4、将kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ rhgb quit更改为kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ 1 rhgb quit(注意添加的1前后空格),更改后我们按esc退出编辑模式。回到上级选单,再按b键启动系统。(当然这里我们也可以把1写成single,也表示单用户模式)
5、成功启动系统,这时系统不会提示我们输入任何信息,直接进入系统,这时我们全可以修改root密码了,使用passwd命令,如passwd root,系统让我们输入自己的新的root密码并确认一遍。设定完毕,重启系统reboot。这样我们便成功更改了这台Linux系统的root密码。

Root原理

目前获取Android root许可权常用方法是通过各种系统漏洞,替换或添加SU程式到设备,获取Root许可权,而在获取root许可权以后,会装一个程式用以提醒用户是否给予程式最高许可权,可以一定程度上防止恶意软体,通常会使用SuperSU,这种方法通常叫做“不完全Root”。而“完全ROOT”是指,替换设备原有的ROM,以实现取消secure设定。
通过ADB可以直接将SU程式放入到系统。首先分析Android自带su原始码,由于源码较多,下面摘录最重要几行。
intmain(intargc,char**argv)
{
/*Untilwehavesomethingbetter,onlyrootandtheshellcanuse
su.*/
myuid=getuid();
if(myuid!=AID_ROOT&&myuid!=AID_SHELL){
fprintf(stderr,"su:uid%dnotallwedtosu\n",myuid);
return1;
}
if(exevp(argv[2],exec_args)<0){
}
/*Defaultexecshell.*/
execlp("/systm/bin/sh","sh",NULL);
}
可以看出只允许getuid()为AID_ROOT和AID_SHELL的进程可以继续执行,否则直接返回,这就决定了只有当前用户为root和shell才能运行su。接下来执行execvp(argvexec_args),su并没有通过fork去创建一个新的进程,而是直接把自己启动一个新的进程,此时原先执行的程式实际上由su来创建的。通常情况下,执行su并不会带参数,于是它会执行execlp("/system/bin/sh","sh",NULL);通过命令行查看此程式许可权ls–l/bin/su-rwsr-xr-x1rootroot368642010-01-2701:09/bin/su由上可以看到,su的所有者和所有组都是root,并且其设定了SUID和SGID。因此下面介绍Linux中实际用户ID和有效用户ID概念:实际用户ID和实际用户组ID:标识我是谁。也就是登录用户的uid和gid。有效用户ID和有效用户组ID:进程用来决定我们对资源的访问许可权。一般情况下,有效用户ID等于实际用户ID,有效用户组ID等于实际用户组ID。当设定-用户-ID(SUID)位设定,则有效用户ID等于档案的所有者的uid,而不是实际用户ID;同样,如果设定了设定-用户组-ID(SGID)位,则有效用户组ID等于档案所有者的gid,而不是实际用户组ID。由此可以得出,当一个其他用户或者用户组的进程来执行su的时候,正常情况下会因为用户ID不是root而被拒绝。但是,如果它能够跳过检查UID这一步,即能够使自己的进程获得和su相同的root的许可权。
这样就可以看出Android系统的破解的根本原理就是替换掉系统中的su程式,因为系统中的默认su程式需要验证实际用户许可权(只有root和shell用户才有权运行系统默认的su程式,其他用户运行都会返回错误)。而破解后的su将不检查实际用户许可权,这样普通的用户也将可以运行su程式,也可以通过su程式将自己的许可权提升。
就是通过各种手段偷天换日,换掉原生的su,将自己的卧底su替换到system/xbin,system/sbin/,sbin等这些目录。当然,这种偷天换日也是相当有难度,破解软体八仙过海,各显神通,其中有一种通过烧写eng版本boot.imag。
在Unix系统(如AIX、BSD等)和类UNIX系统(如Debian、Redhat、Ubuntu等各个发行版的Linux)中,系统的超级用户一般 命名为root。root是系统中唯一的超级用户,具有系统中所有的许可权,如启动或停止一个进程,删除或增加用户,增加或者禁用硬体等等。
root就是手机的神经中枢,它可以访问和修改你手机几乎所有的档案,这些东西可能是製作手机的公司不愿意你修改和触碰的东西,因为他们有可能影响到手机的稳定,还容易被一些黑客入侵(Root是Linux等类UNIX系统中的超级管理员用户帐户。)
“root”是安卓系统中的最高管理员,获取它也就代表你可以随意控制该系统中任意一项功能。生产厂商是不会给手机配置root许可权的。注意:获取root许可权是有风险的,不要随便尝试。

许可权作用

1、可以备份手机系统和软体套用等重要的私人资料(包括可以备份联繫方式、简讯、手机系统等),这样即使手机出现故障丢失了相关数据,也可以在备份中还原。
2、使用高级的程式,例如RE管理器、省电大师、甜椒刷机助手等等,
3、可以修改手机系统,也就是root后可以给安卓手机刷机,体验不同安卓系统的乐趣。修改系统的内部程式和档案,如修改build.prop来DIY手机信息
4、可以把一些程式套用安装在SD卡上(Android2.2以下默认是不支持的),减轻手机负担。
5、可以卸载系统程式(需谨慎使用),可以删除原厂系统自带的感觉没什幺用的软体。
6、可以管理开机启动项,禁用不需要后台运行的程式,进行手机省电最佳化。
其它好处
一 最重要的是 我们可以汉化
拥有root许可权,我们就可以载入汉化包,实现系统汉化!这主要是针对那些自带默认语言为非中文汉语的安卓手机,这些手机原本是面向非中文国家和地区销售的,但最后有中文汉语的用户也在使用,为了能更好地使用这些手机,符合国人的操作使用习惯,就必须对这些手机汉化系统。
二 我们可以通过ABUS查看已安装的软体
虽然没有ROOT许可权,我们依然可以通过ABUS来安装软体和游戏,但是如果拥有root许可权的G1,我们可以通过ABUS查看其安装过的软体列表,方便我们管理。
三 我们可以更改主题
我们可以通过升级update.zip来实现更换主题的功能,当然update.zip包并不是一个单独的主题档案,其实就是升级一下,
不过如果没有root许可权,我们就不能实现更换主题的功能
四 我们可以正常使用一些软体 比如Screenshot
很多软体是需要访问并读写内部root的,比如Screenshot,就必须有root许可权才可正常使用,如果相应的,我们获得了root许可权,那幺有些软体就可以正常使用,并能发挥其特性了。

新版系统

root新版系统的过程相对简单,至少符合特定的要求。运行Android L的Nexus 5和Nexus 7(2013)用户需要先刷入定製Recovery和Chainfire SuperSU,然后再刷入与自己设备相匹配的镜像便可。
但如外界所预料的那样,即使获取了root许可权,应用程式已经无法像从前那样在系统分区进行写入了。不过升级到了新安全环境的套用依然可以访问系统分区。
考虑到并非所有套用都已获得升级,因此许多需要root许可权的套用在Android L当中都无法正常工作,比如钛备份。但随着越来越多的套用进行升级,Android L的root许可权也将会变得更加实用

需要许可权

1.Hacker,喜欢对系统进行Hacking的人.
2.开发人员,命令行控制设备是必须的。
3.普通用户,一些特殊软体安装不了,要求ROOT许可权。
4.一个软体超级体验狂,每天不下载50个应用程式尝试,晚上就睡不着。Android手机自带存储空间太小,所以要将软体装到SD卡上。
5.买Android就是为了自己可以有选择性的定製系统,否则就会选择入手iPhone了。
不需要者
1.对于不懂任何命令行和sdk的东西的人。能随着官方的升级而自动更新(OTA),不想每次更新都要刷一下机器。
2.一年也下不了10个软体的人,Android手机自带的商务功能完全够我用了,不想折腾手机.
3.对手机系统不了解,不想麻烦安装软体,怕将手机系统弄坏。
4.行货手机ROOT后,不能保修请慎重操作
5.N7100请注意可90% root!

注意事项

1.root许可权可能影响手机保修。
2.获取root许可权的过程中会有病毒的侵入。
3.使用不当会导致系统损坏。
4.提权有风险。
5.提权成功后,会导致系统不稳定。
6、备份手机的重要资料档案,包括手机里的软体,通讯录,简讯等,而且最好提前下载好一个官方包预备着,以免在root过程中数据丢失或者使机器无法正常开机。
7、安装软体时严格控制程式的授权请求,防止许可权被恶意软体利用。
8、保证手机拥有足够的电量,理论上来说要让手机电量在50%以上,不过这里小编建议儘量是满格的情况下进行,如果在root过程中出现差错,在电量充足的情况下我们能够及时校正。

转载请注明出处海之美文 » root许可权

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com