Portál AbcLinuxu, 11. května 2025 10:45
Ahojte,
mam pci kartu na ktoru z linuxu pristupujem priamo cez jej adresu 0x165. Je to specificka karta nie standard. Program ktory som komunikuje priamo cez tuto adresu, ziadne /dev zariadenie a podobne pod uzivatelom root bezi v pohode ale ked sa prepnem do non-root uzivatela tak uz nevie komunikovat cez tento port. Vedeli by ste poradit ako spristupnit prava na konkretny port - adresu ? Mam debian6 a komunikacny program nie je mozne prerobit.
Dakujem vsetkym
Řešení dotazu:
sudo ten_program
?
to by ten program bezal ako root a to je z bezpecnostnych dovodoch nepripustne
Obávám se, že bez zásahu do programu žádné jednoduché řešení nebude. Předpokládám, že přístup ke kartě je řešen pomocí ioperm()
a inb()
/outb()
. Volání ioperm()
musí být z privilegovaného procesu.
Jednoduché řešení by bylo v programu používat /dev/perm
. Správné řešení je napsat ovladač, který přistupuje na kartu a program s ním komunikuje pomocí zařízení v /dev/...
.
Pokud je normální používání programu pod rootem nepřípustné, doporučil bych zkusit nějakou metodu virtualizace jak už radili ostatní.
Omlouvám se, samozřejmě jsem myslel /dev/port
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.