Hacker News new | past | comments | ask | show | jobs | submit login
CyanogenMod 9 will have root disabled by default (cyanogenmod.com)
62 points by jhack on March 17, 2012 | hide | past | favorite | 21 comments



Honest question: How many Cyanogenmod users don't want their device to be rooted?

Though my friends are anything but representative, I don't know a single one, and I can't imagine anyone who would go through the process of rooting/unlocking/flashing, and then specifically want an unrooted device in the end.


There is a huge difference between "applications you install running as root" and "rooting a device". "rooting a device" means taking over the OS. The typical action is that once you root your android device, you then install CyanogenMod or something similar to replace the pre-installed operating system. Once Cyanogen or someting similar exists, there's no need to have userland apps running as root for the vast majority of people.


> there's no need to have userland apps running as root for the vast majority of people

But they don't - that's what the Superuser apk is for - it only runs certain apps as root, and only when needed (and authorized). Until ICS, even taking a screenshot required root, so it's not that unbelievable that users would want that functionality, and I don't see how this is substantially more secure than Superuser + OTA Rootkeeper.


I can see there being a decent number who just want to update to the latest Android version and/or remove their phone's preinstalled bloatware.


I'm in that camp: I want a phone that works and is secure out of the box, but don't want all the adware and ad-supporting bloatware that Google and Apple load unto Android and iOS. This was long overdue in CyanogenMod.

(So far, CyanogenMod is the only realistic alternative for those of us who want a safe, secure, 'unbloated' phone.)


That's what I want and I don't really understand why I would want to give access to ADB or whatever.. I've used linux just enough to have a feel for what sudo is, but don't have a feel for how Android works.

I put CM7 on a Nook Color before but just got my first smartphone 2 days ago. I never updated the CM on my Nook because it seemed like a pain but plan to try to do more on the phone since I will be using it more.


Don't some apps now check for root access and refuse to run? This ends that cat-and-mouse game.


Only common method I know of checking for root is the existence of the su binary.. free apps already exist on the market to temporarily rename or move the binary elsewhere and defeat these checks.


Cyanogen is trying to be manufacturer friendly after market Android OS. It no longer wants to be a hacked version or rouge side of Android.


It takes 3 seconds to check this toggle box. It is a more sane default and frankly, despite loading new nightlies of CM9 every night, I never, literally never, use root.

Actually, now that I think about it, I might reinstall Adblock and use it, but Chrome for Android is so fast, I might not bother.


...and will provide an easy way to enable it.

Seems like a good move after reading the post.


I see this as a good thing. The first step towards CyanogenMod being shipped with actual phones is fixing up some of the biggest handicaps it currently has.

It's just like the unknown sources setting. I could reliably be more confident when installing CM onto friends & family's phones with the assurance that they can't instantly screw something up.


One thing I don't like about Android in general is how many permissions a lot of apps get. I can't tell what exactly they're using them for and whether that "full network access" means an app (with root access) can upload all my contacts or files to some remote server.

On Windows and Linux I always have a firewall (and anti-malware software) installed and set to manual/strict mode, so I know what app is trying to access what remote IP. Can't do that on Android, so I don't keep any information I wouldn't want to fall into wrong hands (no usernames, passwords, photos, etc.)...

Disabling root by default is very reasonable, especially for a ROM that is used by thousands of "normal users"...


That kind of stuff is eminently possible on Android, but obviously it's not particularly a high priority for Google to get it in the mainline!

We did some proof of concept work and had an implementation of some similiar ideas a while ago (bit outdated now): http://www.cl.cam.ac.uk/research/dtg/android/mock/


Why does it have to be all apps or none? Can't it be selective, at selected times, like "sudo" on a regular linux distro?


Superuser application already handles that after you've enabled root access from Cyanogenmod settings.


Well, not quite. At least on my phone, an app keeps root permissions after allowing it with Superuser once. What I'd like is a "sudo" I have to allow everytime. So I know each time a program wants to have root priveleges and I can grant those priveleges selectively.


Well it seems like a great idea, yes, but in all reality it may cause some serious problems. What exactly does easily enable root mean? Will it essentially be a one click root built into the OS? Personally, for my Nexus, it takes about 2 minutes to root. All that has to be done is open the command pront/terminal and type a few words. I actually just had to reroot after flashing the 4.0.4 update.zip. I'm actually not too sure this is a great idea.

"Many of you may not give it a second glance, but among all the furor and concern about permissions requested by market apps and privacy, all Custom ROMs (CyanogenMod included) ship with one major security risk — root!"

Most anyone who is willing to root and ROM will be savvy enough to know how to avoid security issues and things like malware in non-market apps. While I believe this is a good idea I am not sure how easily it can be implemented.

Knowing the CM team is pretty good gives me high hopes about this, but I am just curious how they plan on allowing everyone to root easily from within the OS.

Edit: Actually what they are doing makes sense. You don't run Linux as root all day. I am just curious as to how they will easily allow root to be turned on and off.


> Most anyone who is willing to root and ROM will be savvy enough to know how to avoid security issues and things like malware in non-market apps.

Based on nearly every thread I've read on xda-developers forums, I'd put my money on the fact that most users are just savvy enough to copy-paste directions, and the moment something goes wrong the only recourse is to jump to the internet and hope someone else has figured it out already. I have plenty of friends that don't have the slightest clue as to what root actually means or what sudo or su do with rooted Android phones running CM.

Hell, the Rooting scene is one of the shadiest scenes I've ever seen. Have you seen how many links are on xda-developers that point to random binaries on mediafire.com? Half those binaries are completely open source, with the majority being distributed with the Android SDK, as in, there is no reason it needs to be distributed as a binary, but most users don't know how to compile it anyways, so it comes in the easiest unsigned format without sha/md5 sums. The other half are kernel modules to install or binaries you execute as root on your phone. I wouldn't touch a random kernel module from mediafire.com on my desktop or servers, but since it's going into my phone, it's somehow safe? How is installing that any different than installing a non-market malware app?


Funny to see so many people running with this story today. As expected the comments in /r/Android are miserable.

This feature has been in CM9 since... before there were nightlies. The Kangs at the end of December had this feature enabled. It is literally a single check-toggle in the Settings app. It takes... all of 3 seconds to enable.

And yes, as anyone who has used root before knows, the SuperUser app limits permission to root and will ask each time if you choose for it to


This still doesn't sound the most secure. I think it would be better to have a multi-layer config, where the first layer is something like "Enable Enable Enable Root?", which enables the second layer dialog "Enable Enable Root?", which enables "Enable Root?" dialog, which then enables the SuperUser.apk "Enable Root for this application". You can't be too secure.

I do agree that getting rid of the ever present root shell on the USB port is a good idea, but asking if you'd like to be asked questions? Coating a knife with liquid rubber doesn't get you a safer knife.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: