Pristup na porty jenom pod rootem ?

David Jez dave.jez na seznam.cz
Středa Červenec 11 11:30:31 CEST 2001


> Dobry den,
> 
  Aby byl,

> zajimalo by mne, pisu program, ktery pouziva primy pristup na port
> tiskarny pomoci outb. Jako prvni pouziju ioperm na zjisteni, jestli mam
> pristup.
  1. nesmysl - proc pouzivas primy pristup? Je to opravdu zapotrebi a nelze
jinak? Takto to nebude fungovat.

> Problem nastane, kdyz takovy program spustim pod jakymkoli jinym
> uzivatelem, nez je root. System pristup k portu odmitne. Pod rootem to
> pochopitelne funguje.
  pochopitelne.

> Da se tohle nejak obejit, nebo takovy probram budu muset spoustet jako
> root vzdycky ?
  Da se to obejit asi tuctem zpusobu ;-) (no trochu prehanim). To podle
toho, co ten program ma delat.
  1. Pokud potrebujes pouze posilat jakakoliv data na port (at uz na tiskarnu
     nebo treba pro nejake zarizeni) muzes s klidem v /etc/printcap vytvorit
     tiskarnu treba raw ktera nebude mit zadne vystupni filtry atd. Vyhoda je
     v tom, ze muze data ven posilat kdokoliv, jakoby chtel tisknout. Dokonce
     se tento postup da z uspechem pouzit dohromady i s tiskranou za pouziti
     jednoducheho multiplexoru na port (neco se tusim da najit i v AR).
  2. Pokud potrebujes pristup v obou smerech pouzij jednoduse soubor /dev/lp?
     (podle portu tiskarny). Program se ti zjednodussi, praci s porty prevedes
     na praci se souborem. Vyhoda je i v administraci, pouzitim prav skupin
     atd. muzes rici kdo muze s portem pracovat.
  3. Pokud se jedna opravdu o velice specificke zarizeni, ktere je zapotrebi
     napr. obsluhovat porad, presne casovat ci z jineho duvodu da se pouzit
     i vlastni ovladac do jadra. Ten ti zprostredkuje interface mezi aplikaci
     (opet pres soubory v /dev) a hardwarem. To je ale trochu komplikovanejsi
     zpusob a pro dane pouziti si myslim ze sbytecny.
  Doporucuji pohrat si se zpusoby 1 a 2.

> 
> Diky za podnetne myslenky
  S pozdravem pekneho letniho dne

-- 
-------------------------------------------------------
  David "Dave" Jez                Brno, CZ, Europe
 E-mail: dave.jez na seznam.cz
PGP key: finger xjezda00 na fest.stud.fee.vutbr.cz
---------=[ ~EOF ]=------------------------------------


Další informace o konferenci Linux