Acce0ss / shellex

ShellEx shell executor for Sailfish OS
BSD 3-Clause "New" or "Revised" License
5 stars 3 forks source link

Need some good solutions for running commands as root #2

Open Acce0ss opened 10 years ago

Acce0ss commented 10 years ago

Should there be some kind of scheme for elevating privileges inside the app, or should it be left for the user to set up his/her sudoers?

if you have any opinion or ideas on how to do this, you're welcome to share

jklingen commented 10 years ago

Have you read these comments on together? So it seems to be possible, but I assume (and hope ;-)) this wouldn't pass Jolla Store QA. We should hope for a proper solution provided by SailfishOS - some kind of authentication dialog, asking the user for their password without revealing it to the application, but granting privileges.

If you find a proper solution, please drop a note here - I need that, too :)

Acce0ss commented 10 years ago

hmm.. thanks for the link!

Currently I'm considering a pulley entry or something, that makes a text field appear, allowing user to input his/her password when using devel-su -p, but not sure if devel-su checks that it is run in a proper terminal, like ssh does..

jklingen commented 10 years ago

Is there a -p parameter for devel-su? Asking for the password sounds like a fair solution, but somehow I feel that apps should not ask for passwords. Also, I am not sure how QA people would see this.

Acce0ss commented 10 years ago

Apparently, as is guided in the comments of this answer: https://together.jolla.com/question/384/export-vcf-from-people/?answer=758#post-id-758 Haven't really tested it much, but at least I hope to give an alternative to sudo. Users can also use su -c as described here: https://together.jolla.com/question/30565/howto-using-su-instead-of-devel-su/

I would say asking for the password would be okay, since I will expect that the user writes the "devel-su -p" before the commands to run him/herself and the password will be passed only from the running devel-su -processes stdin and never be saved to disk, which can be checked by anyone from the source. Also, people who haven't enabled developer mode, cannot use devel-su (no root password set afaik), so it shouldn't breach the dev mode terms either.

Since the app "KillDroid" got to the store, and it actually stores the root password in plaintext on the device, I guess the solution is okay. (I also kinda expect most users of the app know what they are doing ;)

jklingen commented 10 years ago

Thanks - that's very interesting to read, I did not know that. Anyway, I'd hesitate to give my password to an app. But you are right: the target audience is most definitely aware of the pros and contras - and after all, no one is being forced to do privileged operations. :)