精华内容
下载资源
问答
  • Linux下获取Root权限的方法
    千次阅读
    2022-01-14 16:37:45

    方法分为永久性获取root权限以及非永久性获取Root权限

    非永久性获取Root权限

    非永久性获取Root权限可以在我们要键入的命令之前加上sudo前缀

    如 要键入的命令是: rm ,以Root用户执行的方式就是: sudo rm

    这样在每个需要Root权限的命令之前都需要键入一次sudo非常不方便,如何在一个会话中永久的获取root权限呢?

    永久性获取Root权限

    先临时的获取到root权限,使用root权限更改root用户的密码。然后利用su命令键入我们刚刚更改过的root密码就可以了。

    • 进入终端
    • 输入 sudo  passwd  root (注意passwd的拼写),并设置密码。提示你输入两次密码,自己设定密码,一定要记住,然后切换到root使用
    • 输入su  root。要求你输入密码,然后输入刚才设定的密码,ok进去了--root环境
    • 之后想要退出输入exit即可。

    ##密码:一般是进入环境的密码

    如果不想切换root但是想拥有大部分root权限,可以在使用命令时候加上sudo,sudo mount挂载。

    如果你想再linux上切换用户,输入:su  + 用户名,就OK了,他会要求你输入密码。

    更多相关内容
  • 许多机友新购来的Android机器没有破解过Root权限,无法使用一些需要高权限的软件,以及进行一些高权限的操作,其实破解手机Root权限是比较简单及安全的,破解Root权限的原理就是在手机的/system/bin/或/system/xbin/...
  • 主要介绍了ubuntu18.04获取root权限并用root用户登录的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 这是一个获取root权限后,不弹出系统安装界面,直接进行安装的的源码。代码只有一个MainActivity,看起来相对比较容易,代码中重要部分都已加入详细的注释,方便大家阅读。不过应用程序运行命令获取ROOT权限,设备...
  • 主要介绍了Android如何获取ROOT权限,写了一个小方法,大家可以在应用中检测ROOT权限
  • 群晖V6.2 获取root权限设置root密码方法 一、使用管理员登录群晖系统,登录控制面板—>>“终端机和SNMP”里,开启SSH功能,端口可以自行设置。 二、使用SSH客户端工具登陆群晖,用系统默认用户登陆(初始化群晖系统...
  • linux免密码获取root权限!!!!!!!!!!!!!!!!!!!!!!!!!!!
  • su文件,手机adb获取root权限,使用su文件直接放在system/bin目录下
  • 所有手机不限种类root通用教程,傻瓜式操作按照提示直接刷入,安全快捷方便,要用就用官方的。
  • 压缩包内有apk,demo源码,以及NDK 安装文档,主要是教你如何在已经root过得手机上只通过一次获取root权限,以后就再也不会弹出root授权框,主要思想是绕过superuser.apk的权限检查
  • 修改源码让APP获取root权限可以执行su命令的git diff记录
  • 主要介绍了Android手机获取root权限并实现关机重启功能的方法,是Android程序设计中非常重要的技巧,需要的朋友可以参考下
  • 在项目的过程中,有可能会要实现类似360优化大师、安卓优化大师的软件搬家、静默安装等需要root权限的功能,或者类似SET_PREFERRED_APPLICATIONS、MOVE_PACKAGE等需要系统的权限,必须要有系统签名。咱们拿 软件搬家...

    在项目的过程中,有可能会要实现类似360优化大师、安卓优化大师的软件搬家、静默安装等需要root权限的功能,或者类似SET_PREFERRED_APPLICATIONS、MOVE_PACKAGE 等需要系统的权限,必须要有系统签名。

    咱们拿 软件搬家 来当例子(通过获取系统权限,而不是弹出系统的应用管理界面来搬家):

    实现方式:

    1、想办法获取系统权限,但是这个一般办不到,因为不同厂家出厂的手机系统签名都不一样

    (

    可以看看我很早的时候提的问题:

    android系统权限SET_PREFERRED_APPLICATIONS怎么获取

    )

    2、在已经root过得手机,获取root权限(有root权限就可以为所欲为啦,嘿嘿)

    第一种办法暂时不考虑,想了解的童鞋可以google Android如何获取系统权限。

    我们说说第二种办法,

    在已经root过得手机上获取root权限,简单

    Java代码

    Process process = Runtime.getRuntime().exec("su");

    执行这一句,superuser.apk就会弹出授权对话框。

    但是这样做就可以了吗.....肯定没这么简单啦!

    当执行需要系统权限的操作时,系统还是回去检查应用程序是否拥有该权限。

    所以我们要想办法绕过过系统检查权限这道关卡!

    至于办法 可以参考下以下两篇博客:

    1、android应用搬家的实现

    2、如何在Android中启动java程序

    大概思路是:

    通过app_process 命令启动Java程序(想了解app_process更多资料,请自行google),

    可是app_process 命令需要root权限才能执行,所以要配合上面所讲的su命令啦。

    这么做是可以实现绕过系统检查权限的大门,

    但是每次执行的时候都要先请求下root权限(那种弹框和toast会让用户感觉到很不安)

    不要忘了咱们的标题:android应用程序永久获取root权限方法。

    永久获取root权限,就是获取过一次root权限后,以后再也不需要去请求root权限

    实际上,像一些软件管家:安卓优化大师、360优化大师,都是这么做的

    (不信你可以试试其软件搬家功能,即使你的手机解除root,它们还是具有root权限)

    原理可以看下以下链接:

    安卓应用程序永久获取Root权限的方法

    (下载该文章需要money,明天我再上传该文档,一时找不到了.......)

    大概思路:

    自己编译一个类似su的可执行程序(以下以main为代号),在main中调用app_process命令,

    然后在第一次获取root权限的时候将其push到/system/bin/目录下,再chmod 4755 可执行程序,

    修改其访问权限,使执行该命令的进程能够暂时获得root权限

    (4755 也请google下吧 Linux文件权限)。

    以后咱们要是需要root权限的话就调用mian命令,不用去调用su来请求root权限啦

    至于为什么要这么做:也是为了让root授权的对话框和toast不在显示

    插一句,想要知道su和superuser.apk的关系,请点开下面的链接

    android superuser.apk 管理root权限原理分析

    综上:我们所做的就是绕过su命令,用我们自己编写的可执行程序main开实现su的功能。

    自己编译可执行程序main的时候,需要注意一点,请参考su源码,

    我在这一步就卡了很久,

    大概意思:

    main的uid是继承的父类的uid,而且它有root权限,但是在main中执行system(cmd),

    (这里的cmd 调用app_process 来启动实现了软件搬家的java程序),

    假如system()是通过sh 命令来实现,但在main中开启的sh的uid也是继承main的uid,

    也就是应用程序的uid,但是这个uid并没有权限执行相关root命令;

    所以需要先将main的uid设置为root,为了使sh的uid也为root,从而使sh 能够执行

    需要root权限的app_process命令

    关键代码在你的main 方法中加入

    C代码

    int uid = 0;

    int gid = 0;

    if(setgid(gid) || setuid(uid))

    return permissionDenied();

    [cpp] view plain copy

    #include 

    #include 

    int main(int argc, char **argv)

    {

    if (setgid(0) || setuid(0))

    fprintf(stderr, "su: permission denied\n");

    else

    {

    char *args[argc + 1];

    args[0] = "sh";

    args[argc] = NULL;

    int i;

    for (i = 1; i 

    args = argv;

    execv("/system/bin/sh", args);

    }

    }

    可以参考su的源码 (su的源码会在我上传的压缩包中)

    大概思路就是这样。

    PS:

    在我上传的压缩包中有我自己写的demo,实现的是软件搬家的功能,

    操作很简单:

    1、安装Movepkgdemo.apk,并执行

    2、点击 install com.zl.hw 按钮 来 安装一个helloword android程序,

    3、点击 get root 按钮,来第一次获取root权限,

    4、点击第三个按钮,来移动helloword程序

    PPS:

    1、编译可执行程序main(注意main只是个代号,在Movepkgdemo中 是 放在Movepkgdemo项目的 /res/ raw/ 目录下的zlsu文件)

    2、将main.c文件成可执行文件会需要linux编译环境,你可以自己在linux上编译,也可以在windows下来编译

    windows方法:使用cygwin 来进行NDK开发(搭建该环境可能需要话费比较多时间,主要是要下载cygwin)

    cygwin环境配置文档也在上传的压缩包中,虽说花了打功夫,但是搭建好NDK环境,以后也能方便咱做NDK开发。

    NDK环境搭建需要cygwin在安装的时候安装必需的一些项目(请查看以下链接):

    Cygwin安装

    最后总结一下总体思路:

    1、在java代码中实现需要root权限的功能,并提供一个包含入口函数main的类

    2、通过app_process命令来启动1中的java模块,但是app_process需要root权限,所以看第3步

    3、通过在第一次获取root权限的时候,向/system/bin/注入自写的类似su的二进制可执行程序

    main,并且和su的访问权限也一样(chmod 4755)(main功能和su一样,唯一不一样就是去除了su中与superuser.apk 交互的代码),即main命令执行app_process命令,这样可以做到:

    一旦拥有root权限,以后再也不需要去请求root权限

    展开全文
  • 那么我们在Android开发中如何获取Android的Root权限呢?下面是主要的简单代码。
  • Shell脚本切换root用户或获取root权限

    千次阅读 2022-03-09 16:06:53
    想法:在执行需要root权限的命令时切换到root用户 或者 拿到root权限。 切换root用户 1、安装expect yum install -y expect 2、编写脚本 (3条消息) 解决linux下sudo更改文件权限报错xxxis not in the sudoers...

    前言

    需求:Shell脚本不能通过root用户执行,只能通过普通用户执行。但是脚本中的某些命令需要时root权限。

    想法:在执行需要root权限的命令时切换到root用户 或者 拿到root权限。

    一、切换root用户的脚本

    1、安装expect

    yum install -y expect

    expect 的用法参考这篇文章:

     Linux expect 介绍和用法 - 梦徒 - 博客园 (cnblogs.com)https://www.cnblogs.com/saneri/p/10819348.html

    2、编写脚本

    ## switchRoot.sh 脚本内容
    
    #!/usr/bin/expect
    ## 只有先进入expect环境后才可执行spawn
    
    ## 不论是在此脚本内自动输入密码还是在脚本外手工输入密码,至少要等待1秒
    set timeout 1
    
    ## 切换root用户
    spawn su root
    
    ## 判断上述进程(su kevin)的输出结果中是否有“Password”的字符串(不区分大小写)。
    ## 若有则立即返回,否则就等待一段时间后返回,等待时长就是开头设置的1秒
    expect "Password:"
    
    ## 向上面的进程(su kevin)发送字符串中的密码, 并且自动敲Enter健(\r)
    send "root123456\r"
    
    interact
    

    3、效果

     4、问题

    当你在执行一个Shell脚本时,为了获取root权限而切换root用户时,会导致脚本中止。这显然不是我们想要的,因此我们可以选择使用 sudo 命令来临时获取root 权限。

    二、获取root权限(sudo)的脚本

    ## sudoUser.sh 脚本内容
    
    #!/usr/bin/expect
    set timeout 1
    ## sudo命令会返回的提示信息的一部分
    expect "password for"
    ## 当前用户的密码
    send "dhj123456\r"
    interact
    

    注意:并非所有用户都能使用sudo命令。 

    具体参考这篇文章:(4条消息) 解决linux下sudo更改文件权限报错xxxis not in the sudoers file. This incident will be reported._心之所向,一如既往-CSDN博客https://blog.csdn.net/sinat_36118270/article/details/62899093

    三、测试效果

    新建test.sh脚本,内容如下:

    #!/bin/bash
    
    echo "-------------- start."
    ## 打印root用户home目录的abc.txt文件
    ## 这个文件只有root能查看和修改,其他用户需要通过sudo来暂时获取root权限
    sudo cat /root/abc.txt
    ## 调用暂时获取root权限的脚本
    ./sudoUser.sh
    echo "------------ end."
    exit
    

    效果

    参考文章:

    (4条消息) 如何在linux shell脚本中自动输入密码._Tony_仔仔 的博客-CSDN博客_linux shell 输入密码https://blog.csdn.net/qq_31598113/article/details/80326973

    展开全文
  • android apk获取root权限方法总结
  • oppo手机获取root权限

    2021-09-04 20:47:48
    oppo root oppo 系列 OPPO R7 Plus 亲测成功 但注意手机会刷有root权限的系统, 在手机中安装后, 打开点玩机, 获取root权限.
  • Android虚拟机获取root权限

    千次阅读 2021-06-05 10:48:14
    在真机上获取root权限,可以很方便的通过第三方的一键root工具来实现,缺点是会安装不少广告apk。即使可以忍受,但无法解决在虚拟机里拿到root。尝试一键root工具,百度、360的root工具无法识别虚拟机,卓大师可以...

    在真机上获取root权限,可以很方便的通过第三方的一键root工具来实现,缺点是会安装不少广告apk。

    即使可以忍受,但无法解决在虚拟机里拿到root。尝试一键root工具,百度、360的root工具无法识别虚拟机,卓大师可以获取root但无法正常进行权限管理,也就达不到获得su的效果。

    下面是网上找到的可行方法

    ===============================================================================

    一、准备

    su

    Superuser.apk

    二、步骤

    1、打开安卓虚拟机

    2、将su和Superuser.apk放到E:\Program Files\Android\android-sdk\tools路径下(每个人的安装路径不同,请视情况而定)

    3、打开CMD进入E:\Program Files\Android\android-sdk\tools输入以下命令

    Adb pull /system/build.prop

    4、进入E:\Program Files\Android\android-sdk\tools,用文本编辑器打开build.prop文件,用”#”注释掉ro.config.nocheckin=yes行

    5、在CMD中依次输入以下命令

    Adb remount     #挂载读写权限

    Adb push build.prop /system/build.prop

    adb push su /system/bin

    adb shell chmod 4755 /system/bin/su

    adb push Superuser.apk /system/app/

    adb shell chmod 4755 /system/app/Superuser.apk

    6、打开Superuser有root权限

    7、重启虚拟机(会丢失权限,暂时没找到办法禁止初始化,求指点)

    ===============================================================================

    注意事项:

    第一、如果虚拟机是基于x86内核,则上诉命令中的“bin”需要修改为:xbin

    第二、如果发现无法正常修改su的权限,或者修改后在虚拟机的Terminal仍然无法su,可参照下面方案解决:

    root@generic_x86:/system/bin # cat sh > /system/xbin/su

    cat sh > /system/xbin/su

    root@generic_x86:/system/bin # cd /system/xbin/

    cd /system/xbin/

    root@generic_x86:/system/xbin # chmod 777 su

    chmod 777 su

    root@generic_x86:/system/xbin #

    遗留问题:

    第一、目前项目中有款软件运行初能拿到su权限,而执行过程中需要修改system/bin内容,则无法使用mount和cp命令。已经是su却不能mount,不知运行时是什么权限?或者哪里问题

    第二、虚拟机重启后,所有与root相关权限及安装的apk都会丢失,怀疑虚拟机有初始化操作。

    展开全文
  • android允许所有用户获取root权限

    热门讨论 2012-12-28 11:21:46
    android允许所有用户获取root权限,编译生产su可执行文件,需要拷贝到system/xbin/目录下,并需要修改权限chown root root /system/xbin/su chmod 6755 /system/xbin/su
  • Linux命令学习:获取root权限

    千次阅读 2021-05-10 07:22:30
    Linux命令学习:获取root权限为什么要切换到root用户?root用户是Linux系统的最高权限用户,该用户拥有系统的生杀大权。然而,正因为此用户权限过大,系统一般情况下不允许你一root用户登录系统。但是,以普通用户...
  • linux系统获取root权限

    千次阅读 2020-06-26 11:12:33
    简要说明linux下root用户权限获取、退出和密码设置方法等
  • 1、添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加一个名为tommy的用户 ...Changing password for user tommy. ...passwd: all authentication tokens updated ...2、赋予root权限方法一
  • rk3229_获取ROOT权限补丁_20171024.rar------->适用于Android 7.1 32位 root_tool5.1.zip---------->适用于Android 6.0/5.1 root.tar---------->适用于Android 4.4 RK3399_android7.1_root-------->适用...
  • 华为手机获取root权限

    千次阅读 2021-08-01 19:28:36
    由于本人有一个Android系统的华为手机,本篇记录如何安装Magisk,获取root权限。 Magisk GitHub地址:https://github.com/topjohnwu/Magisk/ 一、手机类型 基本配置: 型号:CAM-AL00 系统版本号:EMUI 系统...
  • CentOS获取root权限

    千次阅读 2020-04-05 22:23:54
    输入sudo passwd root 提示cenos 不在 sudoers 文件中。此事将被报告。 说明sudoers文件放在etc目录下 则应该使用 “su root” 命令行用户切换为root

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 906,194
精华内容 362,477
关键字:

如何获取root的权限