BenningtonCS / Telescope-2014

4 stars 0 forks source link

Install udev rules to permit non-root user from running srtn #12

Closed edaniszewski closed 10 years ago

edaniszewski commented 10 years ago

From the Osmocom website: (link in wiki)

In order to be able to use the dongle as a non-root user, you may install the appropriate udev rules file by calling cmake with -DINSTALL_UDEV_RULES=ON argument in the above build steps.

Currently, srtn can only be run as root or with sudo, see if changing installing udev rules will fix this.

edaniszewski commented 10 years ago

osmocom link: http://sdr.osmocom.org/trac/wiki/rtl-sdr

edaniszewski commented 10 years ago

with latest commit (above), user should only need to

$ sudo ./srtnmake

when building the software, and then be able to run

$ ./srtn

without having to use sudo anymore to run the program successfully.

Fix should be verified, then issue can be closed.

acencini commented 10 years ago

will this work with macos?

On Thu, Feb 27, 2014 at 1:34 PM, Erick Daniszewski <notifications@github.com

wrote:

with latest commit (above), user should only need to

$ sudo ./srtnmake

when building the software, and then be able to run

$ ./srtn

without having to use sudo anymore to run the program successfully.

Reply to this email directly or view it on GitHubhttps://github.com/BenningtonCS/Telescope-2014/issues/12#issuecomment-36274815 .

edaniszewski commented 10 years ago

No, I don't believe it will. As I know it, udev rules are unique to linux and mac os doesn't have them.

I was planning on first having it compile and run successfully on Ubuntu, and then once stable, work on porting to other systems. I have yet to successfully build and run on mac os, #13 , but once proven that it can be done, an additional build script can be written for compiling on mac os, or to have a makefile, #4 , that will detect which architecture/OS is running and run the appropriate install and compile code from there.

acencini commented 10 years ago

ok good. in the worst case running via sudo on macos is probably a fine thing for the time being until we can find a proper way to make it runnable by all users.

On Thu, Feb 27, 2014 at 1:48 PM, Erick Daniszewski <notifications@github.com

wrote:

No, I don't believe it will. As I know it, udev rules are unique to linux and mac os doesn't have them.

I was planning on first having it compile and run successfully on Ubuntu, and then once stable, work on porting to other systems. I have yet to successfully build and run on mac os, #13https://github.com/BenningtonCS/Telescope-2014/issues/13, but once proven that it can be done, an additional build script can be written for compiling on mac os, or to have a makefile, #4https://github.com/BenningtonCS/Telescope-2014/issues/4, that will detect which architecture/OS is running and run the appropriate install and compile code from there.

Reply to this email directly or view it on GitHubhttps://github.com/BenningtonCS/Telescope-2014/issues/12#issuecomment-36276390 .

acencini commented 10 years ago

17 , #18

acencini commented 10 years ago

will setuid be fine for this? if so, we can close as a dup of #10

edaniszewski commented 10 years ago

I'm not sure. I can try it out to see if that works though. In the README, it states:

4] In order to run as user 

a) FDI/USB make user member of dialout group
b) DAS-4020 copy over udev rules
c) install the udev rules file rtl-sdr.rules 

so based on part c.) it seems like they actually have to be installed, but this code hasn't been known to do things sensibly all the time..

edaniszewski commented 10 years ago

I am going to test out setuid tomorrow and see if this is resolved. If not, it seems like the best place to install the udev rules would be in the makefile?

As far as I know, the udev rules will only work on Linux based OS, so if/when we get to porting it to other OSes, we can open new issues regarding this if we have to?

acencini commented 10 years ago

sounds good

On Mon, Apr 7, 2014 at 11:57 PM, Erick Daniszewski <notifications@github.com

wrote:

I am going to test out setuid tomorrow and see if this is resolved. If not, it seems like the best place to install the udev rules would be in the makefile?

As far as I know, the udev rules will only work on Linux based OS, so if/when we get to porting it to other OSes, we can open new issues regarding this if we have to?

Reply to this email directly or view it on GitHubhttps://github.com/BenningtonCS/Telescope-2014/issues/12#issuecomment-39809575 .

edaniszewski commented 10 years ago

It looks like, at least with the way I set up setuid, that this is no longer an issue. The program ran fine with no 40-rtl-sdr.rules file in /lib/udev/rules.d/, so once we go over my method for setuid to make sure its sound, I'd say this can be closed!

acencini commented 10 years ago

close it, Dr D

edaniszewski commented 10 years ago

:+1: