[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux-team] perltk sécurité linux



At 07:29 PM 8/4/99 +0200, you wrote:
>Bonjour,                   suse 6.1   kernel 2.2.5
>
>J'ai écrit un programme en perltk qui utilise ioperm, inb et outb du C.
>Lorsque je lance ce programme en temps que root tout fonctionne.
>Si je veux le lancer sous un autre compte ioperm renvoie -1 (erreur),
>l'écran s'affiche, lorsque je veux utiliser un outb le programme se termine
>et renvoie ce message d'erreur (Erreur de segmentation.).

Forcement, les acces hardware sont proteges.

>J'ai lu dans Programmation en PERL (page 357) que dans ce cas, il fallait
>écrire et compiler sous root un lanceur en C et le rendre setuid.
>Quand je lance ce programme sous un autre compte que root, ioperm renvoie
>0 (OK) l'écran ne s'affiche pas et j'obtiens ce message d'erreur
>(tainted at /usr/lib/perl5/5.00502/i586-linux/Tk/MainWindow.pm line 55.
>MainWindow->new() at /home/mat/xradperl.pl line 24).
>Il me semble que PERL fonctionne (ioperm = 0) et que TK ne peut ouvrir
>une fenêtre graphique.

C'est assez simple. Le user root n'etant pas le proprietaire du DISPLAY, il
n'a pas le droit d'ecrire dessus. C'est comme quand tu fais un "su" dans un
xterm, tu ne peux plus utiliser de prg X sauf si le user proprietaire t'y
autorise avec xhost.

exemple:
$ xhost +localhost
$ su -
Password: ....
# export DISPLAY=:0.0
# xcalc

Mais attention qu'ici tout localhost a acces a ton ecran. Si tu as d'autres
users sur la machine ou que tu risques d'en avoir un jour, utilise des
xauth et de X qui supportent les user@host.

Eric.

---------
Visit the Linux Supertore Online: http://www.redcorp.com !
If you want to be deleted from the list, send a mail to
majordomo@rtfm.be with "unsubscribe linux-team" in the body.