[Q] Debian chroot on phone/networking issue - General Questions and Answers

Hello XDA Developers, I have a Debian subsystem of sorts on my phone which is created by an application called Lil' Debi. For those of you unfamiliar with it, it essentially creates a Debian install on an .iso that can be mounted onto the disk. Once mounted, a user can access a shell to interact with this Debian subsystem by running /debian/shell as root, which will chroot to its own directory system separate system accessible from the Android Terminal.
Within this Debian subsystem I have created a non-root user account for the purpose of running a few networking applications that if compromised for some reason, won't give the attacker root privileges to break everything on my phone. There's only one small problem with this setup: I can't access the internet from a non-root account.
Both my terminal emulator and Lil' Debi have full network access, even when not run as root. I am curious then, why a non-root user account should have an incapability of accessing the network. A sample of wget on my phone using Google's IP address (I use the IP address because it cannot do DNS lookup obviously) gives a Permission Denied error. At the current moment I am not sure whether this problem lies with Android or with Debian. Does the user need to be explicitly granted permissions to use the network through Debian, or is the application somehow only able to access the network if it's root?
Additional information: The ROM used is PAC ROM, so you can assume any settings changes that could be made from Cyanogenmod or Paranoid Android can be made if necessary. The phone itself is a Oneplus One. No I don't have invites, so don't bother asking.
Opinions on the matter?
Also, on an unrelated note, g++ will only run under root. If I launch it as a non-root user, it will tell me that execvp failed because cc1plus doesn't exist. Why?

Thread's fallen onto the third page, so I'm going to bump.

One day has passed, and no help offered. Bump again.

Another bump. I thought XDA was supposed to be the most knowledgeable forum on Android.

Daily bump until this problem is solved...

Still bumping...
I hope people aren't just looking at the number of replies and assuming it's resolved...

Bumping again. At least 100 people have seen this thread, and not a single one has anything to say.

Bump again. It's now been a week since I asked this question.

Bump.

Related

[NEWB] Installing bash,openSSH,fuse, a file manager and a terminal

Hi,
I am a new owner of an android phone (Nexus One). I am a Linux sysadmin so I had not too much trouble rooting it (with adb directly) and doing some tweaking. But I am now kind of lost when it come to finding applications. I am not interested in custom rom, I just want to customize my own phone and connect it to my ssh vpn to have remote access to my file. Later I plan to use the usb host hack, but not now.
I am not able to find how to install bash, fuse and openSSH. I really want OpenSSH and not any other implementation of SSH2. I don't really want to cross compile them, there most be someone who did it before me! I found 2 or 3 binary on google, but they don't work. Busybox work, but it is a pain, but it show that downloaded binaries can work. Where can I find those things?
I also want to know the best terminal (native terminal, not ssh client) and a good dual panel file manager with drag and drop.
I know that those questions are common, but I can not find any answer. Thanks.
anyone?....
Elv13 said:
anyone?....
Click to expand...
Click to collapse
Evidently not. I came across your post searching for implementations for openSSH and lsyncd in Android.

Linux Installer 3.3 is out

https://market.android.com/details?id=com.galoula.LinuxInstall
New every thing. Redesign of everything every where, rewite of all English parts, many bug fixes.
What for ? install Debian using debootstrap in chroot, and use your Android device like if you had installed Linux on a standard computer.
Bugs shall be reported to [email protected] .
Misc questions about how to use and feature request and general discussions to [email protected]
Market description:
This application will allow you to install a complete Debian distribution in your Android device. Based on chroot, it will perform a standard debootstrap and install a legacy Debian so that you can install, and run any classic Linux command, tool, daemon or service.
The package has few limitations; it is not restricted to Debian; we already offer the choice to use Ubuntu, and will add more distributions in close future. Each distribution is available in several tastes (stable, testing ...). It will not require to reboot; chroot is run inside Android. Installation can be done on any storage device, either on SD card, or inernal memory; no need to repartition any thing, run mkfs or fdisk. We do with what you let use. If you have almost nothing, the package will manage with almost nothing; if you can afford for a large ext4 partition on your SD card, the package will be happy to use it.
It will allow you to install all classic LAMP services like Apache, MySql, PHP, Samba, Netatalk, or just any classic Linux tool like vim, xterm, aterm, Abiword, Firefox, dillo, wget, cron, Perl, Python ... just everything.
Package utilisation will require a rooted device.
Reasons to install this package can not be listed. Just too many: want a cron daemon ? want to have gcc inside your phone ? want to recompile some kernel driver because the legacy Android driver for your Wi-Fi card has is bogus or limited ? want to use vim, or the real full featured desktop ls, ip, nmap, or top commands ? this package will give you all this for free, and much much more.
Requierments:
- an Android device based on some Linux kernel
- a rooted environment
- 300M free space
That's all.
Optionnal registration on our website, http://android.galoula.com/LinuxInstall/Register.php , will allow you to use advanced management features, and install package from within the application interface. You will not need to type any strange command in any terminal. And you will be able to make some services start automaticly at phone boot, and/or application start.
Online documentation: http://android.galoula.com/en/LinuxInstall/
Quick installation guide: http://android.galoula.com/en/LinuxInstall/QuickTutorial.html
Click to expand...
Click to collapse
Free space must be on sd-card or phone memory?
Both accepted You choose where to install.
500M by default on SD card using loop method (on ext2 or fat). Down to 180M using the directory method (does not work on FAT).
thanks for this man.
Sorry if this is a noob question but will this in any way brick/soft brick my device?
Sent from my GT540RR using XDA App
Yes, it can.
But this app is underdevelopment since almost two years, and nobody ever bricked yet. I have written a very long complete tutorial, where I say what you should NOT do. I could easily tell you how to brick in 5 steps.
But we have been working very hard on default settings, to make default settings as much safe as possible.
There are many bugs, many known bugs; but 99.999% bugs will just make the chroot not work. Data loss is very rare. Data loss was highly probable in previous version 3.2 . But default settings are now safer. And if you do not do what we claim to be dangerous ... you are safe.
The most frequent case with 3.2 was complete wipe of /sdcard and /data . This have been fixed.
We never ran into wipe of /system until now. Never bricked.
And since Galoula and me are working on it, we are the most exposed ones. We test every single feature, in all possible situations. And when we find a wipe case, we repro it dozen time until we understand why, and how to fix, so that it won't happen to YOU.
3.3 is way safer than 3.2. And nobody reported wipe on 3.2 ...
But if you blindely clik any where, yes it can. And if I tell you where to click, you can brick in 5 steps for sure And it won't be a soft brick. I promise a good real brick where even HTC will be in trouble to repair it It's explained in the tutorial.
Wow. Thanks for the reply. At least i have an idea now. Is the tut on the app itself? I'll nake sure to read it very carefully coz i wanna learn all about this stuff
Sent from my GT540RR using XDA App
A not so short tuto is inside; but since most mobile devices have only one screen, you may want to read the online tuto on your computer: http://android.galoula.com/en/LinuxInstall/
Default settings are safe. Just follow the guide.
Will go ahead and read this tut. I'll make sure to give feedback. Thanks for paying attention to this noob
Sent from my GT540RR using XDA App
this is just great, are there any videos or screen shots?
edit: nevermind i just checked the market
Feel free to send us screen shots; I am not good at doing that (i can to shots, but I don't know what could be nice to upload).
We would apreciate shots of working (of course ) VNC clients connected to server running localy, or local consoles (like Connectbot) doing funny things.
Send to support. Thanks.
Spent the whole weekend on this...
I'm trying o get an X- GUI on the Samsung Captivate, (hope i said that right) like Ubuntu so i can VNC to a linux desktop environment. I'm on FASTY and wondering why I keep running into refusal of connection. I have the password and localhost as well as the port correct. I've lost sleep on making this work. Can anyone help...?
You question is somehow off topic.
You seem to have a basic VNC connexion issue.
Could not help without deeper description. And I rarely use VNC, i have very low experience.
First point: do you have free space in the distro ? depending on installation method, and what you installed, you may have run out of disk space (especially Ubuntu, uses lot more than Legacy Debian).
The distribution manager is still beta AOT. It may report the VNC service to be up and running, when it could not rally run. First thing to check is: is it up ?
- from local machine, to ps, and check if process is up
- from remote machine, just scan your IP for the device. VNC should be port 5800 or 5900, forgot which one.
Your VNC password is *NOT* your distribution password. VNC password need to be set at a different place (this is VNC specific; VNC is not UNIX, and never claimed to be fully a *UNIX "merged" service*).
Never used VNC in LinuxInstaller. Never yet. Not enough time to test it. We take report, and will test only major and frequent issues. We have many "easy success" reports, so, we don't worry about it. We have much more issues about rooting (getting root on phone), and starting debootstrap; this is what we focus on.
Make sure you have enough free space (at least 50M free left), then join any Debian or Ubuntu forum. They will ask you if you have a CLI; you shall use either adb shell, or connectbot. Fact you are in a chroot is not an issue, chrooting is not frequent for debian users, chrooting is the normal procedure to install Gentoo; and all debootstrap users use chroot daily; forums should not reject you for this reason. As long as you have a CLI.
Good luck.
Lost me fast...
Sorry..but you lost me, and FAST! I really don't have the terminology down...but I do have the Linux 3.3 Installer running properly...it indicates so. I was assuming that this would allow me to somehow load Ubuntu on my Captivate..as I've seen on some screen shots...I guess I'm just lost...a little knowledge is dangerous...I have a little. Just enough to accomplish the basics..but the vernacular is LOST to me. Guess I'll have to wait for the Ubuntu apk...thanks for trying...
I've got this errors...(see attached files).
I have busybox 1.19, connectbot and the superuser (v2.3.6.3 and su binary v2.3.2, the latest from the maket)...
What can I do?
you guys are still lucky.your able to make it work...
im running the ongoing cm7 2.3.5 on moto defy...
kernel is not supporting this yet.
hailmary what's missing in your kernel ? I don't know any Android that won't have ext2 in; if you have an Android without any ext2 filesystem, please contact me in private, I know it could be done, and I would be VERY CURIOUS to see how HTC did it.
If you are missing loop support in kernel, try block or directory method. Blocck will require ext2; directory won't (but will work only over ext FS ... so ... unless you can use NFS )
dugryce , ScumpinatoS, I will come back later (maybe today, maybe not).
ScumpinatoS said:
I've got this errors...(see attached files).
I have busybox 1.19, connectbot and the superuser (v2.3.6.3 and su binary v2.3.2, the latest from the maket)...
What can I do?
Click to expand...
Click to collapse
Reading the first message, you as, as said, a CPU issue. What's your CPU ? device model ?
run in some console:
uname -a
which tail
Application could not load viable environment to work; it is an issue, but it can be fixed. I can help digging, but I won't give you any solution. Send an email to Galoula; the bug report system via the console should work for you.
doublehp said:
Reading the first message, you as, as said, a CPU issue. What's your CPU ? device model ?
run in some console:
uname -a
which tail
Application could not load viable environment to work; it is an issue, but it can be fixed. I can help digging, but I won't give you any solution. Send an email to Galoula; the bug report system via the console should work for you.
Click to expand...
Click to collapse
I have a Huawei Ideos CPU: MSM7225 without GPU.
I am use it and try install Ubuntu Natty but after download all deb package i get error installation, "issue binary, try other version"
Can someone help me what distro (Ubuntu/Debian) and what version of it that have installed succesfully.. please...
Sent from my GT-S5570 using XDA App

[Q] Rooting on Android devices not involving third party software on the device

A Chairde
I am wondering if anyone can help me. I have heard there are Rooting methods on Android devices not involving third party software on the device, could you tell me what they are, and what phones support them. I have read the XDA Developers book, and the closest I have come is the Google Nexus phone on Chapter 8, Unlockable device, but still needs to load Busybox APK, and SuperUser binaries.
This question revolves around sound forensic techniques, I believe XRY load tools into RAM when using physical extraction.
Any help / pointers would be greatly appreciated
crumdub12 said:
A Chairde
I am wondering if anyone can help me. I have heard there are Rooting methods on Android devices not involving third party software on the device, could you tell me what they are, and what phones support them. I have read the XDA Developers book, and the closest I have come is the Google Nexus phone on Chapter 8, Unlockable device, but still needs to load Busybox APK, and SuperUser binaries.
This question revolves around sound forensic techniques, I believe XRY load tools into RAM when using physical extraction.
Any help / pointers would be greatly appreciated
Click to expand...
Click to collapse
By default, Android doesn't have the ability to substitute the current user for the root user, which is why the 'su' binary has to be installed. By adding a particular line to '/data/local.prop', you can trick the ADB into thinking it's communicating with an emulator, which would temporarily give the ADB elevated permissions, but most of the techniques needed to do so require other binaries that Android doesn't have by default, hence the need for Busybox.
XRY physical extraction, on the other hand, doesn't communicate with Android at all, so there are no "root" permissions to be gained. It relies more on very low level communication with the hardware itself and extracting raw data (i.e. ones and zeros). Highly specialized software would then be needed to translate that data into a more human readable format.
So, to answer your question...
As far as I'm aware, there is no way to achieve permanent "root" permissions on Android without (at the very minimum) installing the 'su' binary.
soupmagnet said:
By default, Android doesn't have the ability to substitute the current user for the root user, which is why the 'su' binary has to be installed. By adding a particular line to '/data/local.prop', you can trick the ADB into thinking it's communicating with an emulator, which would temporarily give the ADB elevated permissions, but most of the techniques needed to do so require other binaries that Android doesn't have by default, hence the need for Busybox.
XRY physical extraction, on the other hand, doesn't communicate with Android at all, so there are no "root" permissions to be gained. It relies more on very low level communication with the hardware itself and extracting raw data (i.e. ones and zeros). Highly specialized software would then be needed to translate that data into a more human readable format.
So, to answer your question...
As far as I'm aware, there is no way to achieve permanent "root" permissions on Android without (at the very minimum) installing the 'su' binary.
Click to expand...
Click to collapse
SoupMagnet,
You answered my question fully, you are a legend !!

Why isn't there Linux style root on Android?

This is something I have been wondering for a while and after searching the forums and Google I have not been able to find a clear answer. As a long time Linux user the idea of running your system as root all the time is appalling. It is a huge security risk. But for some reason that is really the only way to gain root access on an Android device (as far as i am aware). Apps like SuperSU allow you to pick the apps that are allowed to run as root, but there is no password or verification that the entity approving the access actually has the authority to do so. I hear all the time that rooting your phone is a trade-off between customizability and security, but every Linux system has a root user and it is incredibly secure when properly administered. What is the reason for the difference?
From what I have read, it sounds like part of the issue has to do with Android handling users differently. I would love to be able to maintain a more limited root function on my devices. Thanks.
funkbuqet said:
This is something I have been wondering for a while and after searching the forums and Google I have not been able to find a clear answer. As a long time Linux user the idea of running your system as root all the time is appalling. It is a huge security risk. But for some reason that is really the only way to gain root access on an Android device (as far as i am aware). Apps like SuperSU allow you to pick the apps that are allowed to run as root, but there is no password or verification that the entity approving the access actually has the authority to do so. I hear all the time that rooting your phone is a trade-off between customizability and security, but every Linux system has a root user and it is incredibly secure when properly administered. What is the reason for the difference?
From what I have read, it sounds like part of the issue has to do with Android handling users differently. I would love to be able to maintain a more limited root function on my devices. Thanks.
Click to expand...
Click to collapse
You can set a passcode with SuperSU....
Thanks for the reply. That is good to know. Does that really fill the security gap though? I guess if I set My non-background root permissions to expire every 15 minutes that does help for apps that do not need to run as root in the background.
I am more referring to the distinction between regular user land and the root user. Titanium Backup for example; If I want it to be able to run a full backup (including system apps and settings) of my phone every night I have to give it permanent root permissions. That root permission applies to both the automatic process and anything that I as a user (or any entity that can get control of TB) to act as root as well. Ideally there would be 2 separate instances of the program; the back-up process (a daemon perhaps) initiated by the root user and a second available in regular user space. This sort of thing is common on Linux systems.
My knowledge of Android is not particularly deep. I cannot tell if there is actually a separate root user or how user/group permissions work. It seems that the Android framework is designed around the user not having root access. Which is a bit confusing for an OS that prides itself on customization and "Be together not the same". I can't imagine buying a desktop PC that didn't allow me to have system level (root) access. Why should it be any different on a mobile device?

Question about FUSE mount points and multiple user accounts

I have an old lg pad 7 running cyanogen 12 that I use to mess around. I have two user accounts; both have root through SuperSu.
I recently discovered that even though both user storage directory mount points are accessible in terminal from both user accounts, this is no longer the case after running su due to the FUSE kernel module.
What I don't understand is that only emulated/0 (the primary user directory) is available with su no matter what account I use to run the terminal. In other words, when I run su from the terminal in the secondary user account, emulated/11 disappears as though I am still using the primary account.
I assume this is a quirk of android multiuser as it was never really intended to be used like this. I'm still curious about what's actually going on and if there is a way to override it. If anyone could explain the issue in greater detail it would definitely be appreciated.

Categories

Resources