Vai al contenuto


[c] linux ioperm non-root user


Questa discussione e' stata archiviata Questo significa che non e' possibile rispondere
14 risposte a questa discussione

#1 Guest__*

Guest__*
  • Ospiti

Inviato 08 febbraio 2012 - 12:44

...ho creato uno strato per la gestione degli IO in c sotto linux...ma il comando ioperm non è abilitato per gli utenti non root...come risolvere il problema?...lo strato c è inoltre unito tramite NIO ad un programma Java...

#2 ilguercio

ilguercio

    Cerealguy

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 15.594 Messaggi:

Inviato 08 febbraio 2012 - 12:45

Doppio:
http://www.hwupgrade...d.php?t=2443284
Immagine inserita

#3 Guest__*

Guest__*
  • Ospiti

Inviato 08 febbraio 2012 - 12:47

Doppio:
http://www.hwupgrade...d.php?t=2443284



...li non risponde nessuno...never http://www.hwupgrade...tyle_emoticons/default/forever_alone.png ...

#4 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.151 Messaggi:

Inviato 08 febbraio 2012 - 14:15

ioperm() is a privileged function: non-root users cannot use it. If they were able to use it, they could rewrite the entire disk (or any portion of it) without permission, by interfacing with the low-level IDE hardware directly. This is obviously a Bad Thing.



sudo?

FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
 

Mai più giorni felici


#5 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.151 Messaggi:

Inviato 08 febbraio 2012 - 14:16

cioè, puoi anche dare un chmod a ioperm, ma è il caso?

FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
 

Mai più giorni felici


#6 Guest__*

Guest__*
  • Ospiti

Inviato 08 febbraio 2012 - 15:08

cioè, puoi anche dare un chmod a ioperm, ma è il caso?



...ioperm è un comando c non linux...

#7 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.151 Messaggi:

Inviato 08 febbraio 2012 - 15:15

[quote name="ally @":3g7i02v4] [quote name='"toyo @":3g7i02v4] cioè' date=' puoi anche dare un chmod a ioperm, ma è il caso?[/quote']


...ioperm è un comando c non linux...[/quote]


chmod 4755 tuo_programma ?

FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
 

Mai più giorni felici


#8 toyo

toyo

    sono triste

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 44.151 Messaggi:

Inviato 08 febbraio 2012 - 15:16

http://justlinux.com... ... 28478.html

FIRMA FOTTUTAMENTE EDITATA. IL FOTTUTO STAFF.
 

Mai più giorni felici


#9 Guest__*

Guest__*
  • Ospiti

Inviato 08 febbraio 2012 - 16:11

...si funge ma non è applicabile agli strati jni http://www.hwupgrade...tyle_emoticons/default/rage.png

#10 TigerShark

TigerShark

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.685 Messaggi:

Inviato 08 febbraio 2012 - 16:18

perche' vuoi usare una istruzione privilegiata per scrivere? http://www.hwupgrade...tyle_emoticons/default/53.gif
Quelle dovrebbero essere usate solo in ambiti ristretti quali script di installazione, programmi di diagnostica, drivers...
Non certo per un normale programma che dovrebbe girare in user-space...
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.

#11 Guest__*

Guest__*
  • Ospiti

Inviato 08 febbraio 2012 - 16:26

perche' vuoi usare una istruzione privilegiata per scrivere? :yuno:
Quelle dovrebbero essere usate solo in ambiti ristretti quali script di installazione, programmi di diagnostica, drivers...
Non certo per un normale programma che dovrebbe girare in user-space...


...è un driver per pilotare una scheda IO esterna http://www.hwupgrade...tyle_emoticons/default/poker.png

#12 Guest__*

Guest__*
  • Ospiti

Inviato 08 febbraio 2012 - 16:31

...normalmente pilotiamo l'automazione tramite 232 o 485...in questo caso verrà usata una scheda IO direttamente connessa alla motherboard...ora devo decidere se lo strato rimane prerogativa di root e viene richiamato come servizio sfruttando un socket o se richiamare uno script abilitato al pilotaggio...

#13 TigerShark

TigerShark

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.685 Messaggi:

Inviato 08 febbraio 2012 - 17:31

@[/url]":246zb58u] perche' vuoi usare una istruzione privilegiata per scrivere? :pua:
Quelle dovrebbero essere usate solo in ambiti ristretti quali script di installazione, programmi di diagnostica, drivers...
Non certo per un normale programma che dovrebbe girare in user-space...


...è un driver per pilotare una scheda IO esterna http://www.hwupgrade...tyle_emoticons/default/poker.png

ah ok :yuno:
I must not fear. Fear is the mind-killer. Fear is the little-death that brings total obliteration. I will face my fear. I will permit it to pass over me and through me. And when it has gone past I will turn the inner eye to see its path. Where the fear has gone there will be nothing. Only I will remain.

#14 MadJackal

MadJackal

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStelletta
  • 3.105 Messaggi:

Inviato 08 febbraio 2012 - 22:19

...normalmente pilotiamo l'automazione tramite 232 o 485...in questo caso verrà usata una scheda IO direttamente connessa alla motherboard...ora devo decidere se lo strato rimane prerogativa di root e viene richiamato come servizio sfruttando un socket o se richiamare uno script abilitato al pilotaggio...


Dovresti scrivere un vero e proprio device driver da caricare come modulo del kernel ed usare ioctl(), lo sai? :trollface:
Quello che ti conviene fare a sto punto è un demone che droppa le permission con setuid() dopo aver usato ioperm() sulle porte che ti interessano e parlarci via socket (attento solo a fare il tutto dopo la fork()...). Se sei in un rapporto un server un client non dovrebbe essere troppo difficile...
In Soviet Italy, the evil army owns you!

#15 Guest__*

Guest__*
  • Ospiti

Inviato 09 febbraio 2012 - 08:37

@[/url]":18ujla04] ...normalmente pilotiamo l'automazione tramite 232 o 485...in questo caso verrà usata una scheda IO direttamente connessa alla motherboard...ora devo decidere se lo strato rimane prerogativa di root e viene richiamato come servizio sfruttando un socket o se richiamare uno script abilitato al pilotaggio...


Dovresti scrivere un vero e proprio device driver da caricare come modulo del kernel ed usare ioctl(), lo sai? :trollface:
Quello che ti conviene fare a sto punto è un demone che droppa le permission con setuid() dopo aver usato ioperm() sulle porte che ti interessano e parlarci via socket (attento solo a fare il tutto dopo la fork()...). Se sei in un rapporto un server un client non dovrebbe essere troppo difficile...



...purtroppo il tempo non è tantissimo...se la scheda IO verrà usata per cose piu' evolute scriverò una libreria apposita...