实际用户ID(RUID),有效用户ID(EUID)和设置用户ID(SUID)

实际用户ID(RUID),有效用户ID(EUID)和设置用户ID(SUID),第1张

RUID, EUID,SUID表示实际用户ID,有效用户ID,设置用户ID。另外用户ID是个整型数,这几个ID的作用:

RUID, 用于在系统中标识一个用户是谁,当用户使用用户名和密码成功登录后一个UNIX系统后就唯一确定了他的RUID.

EUID, 用于系统决定用户对系统资源的访问权限,通常情况下等于RUID。

SUID,用于对外权限的开放。跟RUID及EUID是用一个用户绑定不同,它是跟文件绑定而不是跟用户绑定。

1、在关机状态下同时按住【音量上】、【HOME键】、【电源键】,等待屏幕亮起后即可放开,进入Recovery模式。

2、进入recovery模式后,会出现英文选择界面,选取Wipe Data /Factory Reset确定-再选取中间一行YES--DELETE;确定。

3、再选取Wipe Cache Partition确定一次。

4、最后选择第一项reboot system now 重启手机即可。

扩展资料

做完以上步骤之前手机首先要Root。

Root原理:

目前获取Android root权限常用方法是通过各种系统漏洞,替换或添加SU程序到设备,获取Root权限,而在获取root权限以后,会装一个程序用以提醒用户是否给予程序最高权限,可以一定程度上防止恶意软件,通常会使用SuperSU,这种方法通常叫做“不完全Root”。而“完全ROOT”是指,替换设备原有的ROM,以实现取消secure设置。

可以看出只允许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权限是有风险的,不要随便尝试。

参考资料来源:百度百科:root权限

可以使用whoami.

具体参考如下:

命 令:whoami 或者 who am i

功能说明:显示用户名称。

语法:whoami [--help][--version]

补充说明:显示自身的用户名称,本指令相当于执行"id -un"指令。

whoami 命令显示登录名。与使用命令 who 并指定 am i

不同,whoami 命令在有 root 用户权限时也有效,因为它不检查 /etc/utmp 文件。

该命令只出现在windows系列中的

windows 2000中。

参数:

 --help  在线帮助。

 --version  显示版本信息。

附:whoami

与who am i 的区别

who这个命令重点是用来查看当前有哪些用户登录到了本台机器上。

who -m的作用和who am

i的作用是一样的。

who -q用来显示当前登录用户的个数。

who am i

显示的是实际用户的用户名,即用户登陆的时候的用户ID。此命令相当于who -m。

who am i显示的是“登录用户”的用户名。

用Linux的术语来解释就是:(实际用户=uid,即user id。有效用户=euid,即effective user id)

whoami 显示的是有效用户ID.

whoami显示的是当前“ *** 作用户”的用户名。

先看看这三个命令的输出信息:

[jb51@jb51 ~]$ whoami

jb51

[jb51@jb51 ~]$ who am i

jb51

pts/3 2011-07-25 13:17 (:0.0)

[jb51@jb51 ~]$ who

jb51 :0 2011-07-25

09:54

jb51 pts/0 2011-07-25 09:55 (:0.0)

jb51 pts/1 2011-07-25 09:57

(:0.0)

jb51 pts/3 2011-07-25 13:17 (:0.0)

当我用sudo su(或者sudo su

-)更换到root用户之后,你再看看:

[jb51@jb51 ~]$ sudo su

[root@jb51 jb51]# whoami

root

[root@jb51 jb51]# who am i

jb51 pts/3 2011-07-25 13:17 (:0.0)

[root@jb51 jb51]# who

jb51 :0 2011-07-25 09:54

jb51 pts/0 2011-07-25

09:55 (:0.0)

jb51 pts/1 2011-07-25 09:57 (:0.0)

jb51 pts/3 2011-07-25

13:17 (:0.0)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8737763.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存