[Q] Wondering how the Superuser app behaves - Android Q&A, Help & Troubleshooting

I was working with my TF201, and I figured out how to get the su binary on it, and executing, but simply being denied permissions. I was wondering if it had anything to do with the fact it's in /data/data/jackpal.androidterm/shared_prefs/kbox/bin/ (I used a guide on how to install common UNIX tools to Android), and my thinking is, if you could set a custom path to su on the Superuser app, and point it to that directory, you could achieve su permissions for long enough to copy the su binary to /system/bin/. Would this work, or am I not understanding the way the superuser app works?

Related

Trying to get file access through adb & su

I wanted to backup my K-9 email settings which are supposed to be at
/data/data/com.fsck.k9/
I tried doing adb pull /data/data/com.fsck.k9/ C:\whatever
That gets nothing
I tried going into adb shell and I can move around the folders just fine.
/data/data/com.fsck.k9 has subfolders, but I don't have access to them
(get permission denied)
I tried doing su, and that also got permission denied.
I found a thread from 2009 that talked about getting su.zip from magicandroidapps.com and I did that, put it into /data/local, changed permissions so it is executable, but when I execute it with ./su I get:
su: access granted, courtesy of [www]magicandroidapps.com
su: permission denied
and I still don't have permissions.
I've learned a lot about the android so far, but am at the end of my knowledge. Any suggestions on how to do this?
first time you su from adb the Superuser.apk on your phone is going to want permission... you must click always allow on your phone...
so if you are trying with the phone booted, before typing su make sure your screen is on and then click allow... if it doesnt ask for it, clear your su.apk
if you are trying this from recovery, you have to boot your phone on first and allow adb su permission
by the way, you dont get flamed if you read the rules to posting in this forum...

Method to install root for Honeycomb

Check this thread for updated and improved information, many thanks to j4mm3r
http://forum.xda-developers.com/showthread.php?t=953110
Credit goes to NuroSlam for coming up with a working method. This requires a functioning adb connection. Using this version of su is not as secure because it will not activate Superuser for your permission to grant root access. In fact, it can work without Superuser.apk installed at all. Hopefully we will soon have an updated su or maybe the next version of Honeycomb will be prerooted. First download the following files:
1. su http://www.magicandroidapps.com/su.zip
2. Superuser.apk http://bit.ly/su2361ef
3. busybox http://busybox.net/downloads/busybox-1.18.2.tar.bz2
Extract the above files using your favourite program
Using adb, install all three files to /data/local:
adb push su /data/local
adb push Superuser.apk /data/local
adb push busybox /data/local
Use adb remount to open the /system directory
adb remount
Use adb shell to move files
adb shell
cd /data/local
cat Superuser.apk > /system/app/Superuser.apk
cat su > /system/bin/su
cat busybox /system/xbin/busybox
Symlink su and set permissions:
ln -s /system/bin/su /system/xbin/su
chmod 06755 /system/bin/su
Typing su should now work
su
su: access granted, courtesy of www.magicdroidapps.com
Install busybox
exit from adb shell and using a terminal application (i.e Root Explorer or Better Terminal Emulator) on the nook,
su
busybox --install -s /system/xbin
That should do it, works with Root Explorer, Titanium Backup, LCD Density, Quick Boot and SetCPU.
Good Luck
really? That simple? Root was the only reason i haven't jumped on the Honeycomb train. This may change my mind.
I tried this on the 2gb sd image got root. But after I rebooted root was gone.
I noticed su is in /system/bin rather than /system/xbin on the Froyo image. Any reason?
Homer
anbradle said:
I tried this on the 2gb sd image got root. But after I rebooted root was gone.
Click to expand...
Click to collapse
Check your steps, especially permissions and the symlink. Works consistently on reboot for me.
Homer_S_xda said:
I noticed su is in /system/bin rather than /system/xbin on the Froyo image. Any reason?
Homer
Click to expand...
Click to collapse
I couldn't get it to work for me without installing in /system/bin and using a symlink to /system/xbin
chhaggerty said:
It wouldn't work for me without installing in /system/bin and using a symlink to /system/xbin
Click to expand...
Click to collapse
It should work anywhere in the default PATH as long as it's got the full permissions (7655) set. I've only got one in xbin wih no symlink and all has been well for the superuser app...
[email protected]:/system/bin # echo $PATH
echo $PATH
/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
[email protected]:/system/bin # ls -l su
ls -l su
su: No such file or directory
[email protected]:/system/bin # ls -l /system/xbin/su*
ls -l /system/xbin/su*
-rwSr-sr-t root root 76232 2011-02-04 09:08 su
-rwSr-sr-t root root 76232 2009-07-31 19:08 su-magic
-rwSr-sr-t root root 26264 2010-08-10 06:52 su-new
-rwSr-sr-t root root 68340 2011-01-31 11:22 su-org
chhaggerty said:
Credit goes to NuroSlam for coming up with a working method. This requires a functioning adb connection. First download the following files:
1. su http://www.magicandroidapps.com/su.zip
2. Superuser.apk http://bit.ly/su2361ef
3. busybox http://busybox.net/downloads/busybox-1.18.2.tar.bz2.
Good Luck[/B]
Click to expand...
Click to collapse
i might take credit for gaining root, but the rest is all you
Thanks! I couldn't really follow the part with installing busybox. Was I supose to make the busybox binary? Anyway, I just let titanium backup install busybox for me by clicking the "Problems?" button.
Just tried Root Explorer and it's working great. Nice being able to quickly edit the build.prop file. Upped the dalvik heap size to 64mb and messing with LCD density.
Thanks again!
Nathan
nswenson said:
Thanks! I couldn't really follow the part with installing busybox. Was I supose to make the busybox binary? Anyway, I just let titanium backup install busybox for me by clicking the "Problems?" button.
Just tried Root Explorer and it's working great. Nice being able to quickly edit the build.prop file. Upped the dalvik heap size to 64mb and messing with LCD density.
Thanks again!
Nathan
Click to expand...
Click to collapse
Running busybox from terminal will install all the busybox commands in /system/xbin which should make them available when using adb.
Just a suggestion...
Making a batch file with the command and packing everything in 1 zip makes it a lot easier for most people and reduces the chances of people forgetting a step.
You were right I tried again and now I am rooted after reboot. Thanks
jleecong said:
Just a suggestion...
Making a batch file with the command and packing everything in 1 zip makes it a lot easier for most people and reduces the chances of people forgetting a step.
Click to expand...
Click to collapse
Okay...
I am running HC (v2) off a 8gb sd card.
So do I just do these steps to gain root or do I need to partition the sd card first?
Thanks
Note to the OP, this method isnt exactly quite the same as using the "su" from the SuperUser app would be. This is just a modified "su" binary from the AOSP build which bypasses the check for uid AID_SHELL. Typically, the su shipped with Android only allows root access if invoked via "adb shell".
Now, although this modified binary is quite ok and will get you on the way working with all the Apps that require root access, but it will leave your system unsecure.
You see the guys who developed SuperUser have a hook inside the "su" binary which invokes the SuperUser activity which allows the user to allow/disallow/track other applications' root requests and usage.
So my advice is to be really careful and understand what you are doing if you decide to install this.
I'm gonna try and recompile ChainsDD's SuperUser and see if I can remove its dependency on mktemp.
EDIT: There is no need to push the SuperUser.apk, the modified su has no relation with it and it will work anyways.
j4mm3r said:
Note to the OP, this method isnt exactly quite the same as using the "su" from the SuperUser app would be. This is just a modified "su" binary from the AOSP build which bypasses the check for uid AID_SHELL. Typically, the su shipped with Android only allows root access if invoked via "adb shell".
Now, although this modified binary is quite ok and will get you on the way working with all the Apps that require root access, but it will leave your system unsecure.
You see the guys who developed SuperUser have a hook inside the "su" binary which invokes the SuperUser activity which allows the user to allow/disallow/track other applications' root requests and usage.
So my advice is to be really careful and understand what you are doing if you decide to install this.
I'm gonna try and recompile ChainsDD's SuperUser and see if I can remove its dependency on mktemp.
EDIT: There is no need to push the SuperUser.apk, the modified su has no relation with it and it will work anyways.
Click to expand...
Click to collapse
agreed, i was just going for root myslef
j4mm3r said:
I'm gonna try and recompile ChainsDD's SuperUser and see if I can remove its dependency on mktemp.
EDIT: There is no need to push the SuperUser.apk, the modified su has no relation with it and it will work anyways.
Click to expand...
Click to collapse
In
http://howto.ccroms.net/android_project/build/mod/root
I would have though that the purpose of the changes, specifically;
LOCAL_FORCE_STATIC_EXECUTABLE := true
LOCAL_STATIC_LIBRARIES := libc
Were what should resolve the _mktemp not found?
j4mm3r said:
Note to the OP, this method isnt exactly quite the same as using the "su" from the SuperUser app would be. This is just a modified "su" binary from the AOSP build which bypasses the check for uid AID_SHELL. Typically, the su shipped with Android only allows root access if invoked via "adb shell".
Now, although this modified binary is quite ok and will get you on the way working with all the Apps that require root access, but it will leave your system unsecure.
You see the guys who developed SuperUser have a hook inside the "su" binary which invokes the SuperUser activity which allows the user to allow/disallow/track other applications' root requests and usage.
So my advice is to be really careful and understand what you are doing if you decide to install this.
I'm gonna try and recompile ChainsDD's SuperUser and see if I can remove its dependency on mktemp.
EDIT: There is no need to push the SuperUser.apk, the modified su has no relation with it and it will work anyways.
Click to expand...
Click to collapse
Howard from MagicAndroidApps.com noted this on the original Honeycomb thread. I'll update the OP to make this clear. Thanks.
So once we acquire root, there is nothing to shield apps or commands from performing root without the users knowledge?
Edit: That does sound correct the way i typed it, hope you guys understand what i'm trying to convey
Mikey1022 said:
So once we acquire root, there is nothing to shield apps or commands from performing root without the users knowledge?
Edit: That does sound correct the way i typed it, hope you guys understand what i'm trying to convey
Click to expand...
Click to collapse
yes, at the stands, its just root access. granted i had my own reasons for this

rooted with easy root script but no root?

im rooting a friends tbolt, it meets all the requirements, but i dont get root access, busybox installed but no root. any ideas? SU is in the app list but it doesnt work. this process worked flawlessy on my tbolt. and all matched up, and compatible version
T41NT204 said:
im rooting a friends tbolt, it meets all the requirements, but i dont get root access, busybox installed but no root. any ideas? SU is in the app list but it doesnt work. this process worked flawlessy on my tbolt. and all matched up, and compatible version
Click to expand...
Click to collapse
SU is in the app list, as in the App Drawer? You mean SuperUser if that's what you're talking about. SuperUser is the GUI interface to the actual su binary.
The su binary (which should be located in /system/bin on the phone) is the actual file that grants root access rights. Can you confirm that that file has actually been installed and what its permissions are?
Will the SuperUser app let you download/update su? Also, you should be able to install it from CWM under the extras menu if I recall correctly.
My phone's not handy to confirm above, I'm doing by memory, which isn't so great these days, but hopefully this will give you some ideas of what's wrong.
distortedloop said:
SU is in the app list, as in the App Drawer? You mean SuperUser if that's what you're talking about. SuperUser is the GUI interface to the actual su binary.
The su binary (which should be located in /system/bin on the phone) is the actual file that grants root access rights. Can you confirm that that file has actually been installed and what its permissions are?
Will the SuperUser app let you download/update su? Also, you should be able to install it from CWM under the extras menu if I recall correctly.
My phone's not handy to confirm above, I'm doing by memory, which isn't so great these days, but hopefully this will give you some ideas of what's wrong.
Click to expand...
Click to collapse
i cant atm i dont have his phone. SU (superuser) is in the list, and it told me it was up-to-date when i tried updating it.
CWM? thats new to me atm
root checker sees busybox, but reports not rooted.

[Q] su Binary without any checks?

Is there any su binary i can use which does not use any GUI to check for permissions and stuff? i need it for development and my second problem is that the su binary shipped with the superuser app does not allow root on adb shell...

[Q] I have su but can't get root permission

I'm new here but have been messing around with android for awhile. I spent all afternoon searching for an answer but haven't been able to find anything. I had rooted my prime but not unlocked it while it was on ics, I used ota rootkeeper to keep root when I upgraded to jb but i think when asus sent out another update i forgot to save root. I still have su in /system/bin and superuser installed but it won't prompt me to give any programs root access. I typed in su in a terminal emulator and it said permission denied. so my question is, how do I get root back without unlocking?
Does this thread help ? http://forum.xda-developers.com/showthread.php?t=1911261&highlight=partial+root
I was able to get root back back doing something similar. Somehow the permissions got messed up for su. I went into adb and got root permission through CD/ system then ./usr/we-need-root/su-backup; su. Then I pushed new su, busybox, and superuser.apk files and fixed the permissions and changed the owner of su using chown and chmod.
peterk-1 said:
Does this thread help ? http://forum.xda-developers.com/showthread.php?t=1911261&highlight=partial+root
Click to expand...
Click to collapse

Categories

Resources