[LUGOS] linux share

Davor Ocelic docelic at mail.inet.hr
Fri Sep 30 13:12:17 CEST 2005


On Fri, 30 Sep 2005 12:10:21 +0200
"Aljosa - ROYAL Corp. d.o.o." <aljosa at royal-corp.si> wrote:

> Doma sem postavil na enega od raèunalnikov (imam ¹e dva z windowsi, 
> odloèil pa sem se za namestitev ¹e enega, na katerem bi se hranili vsi 
> podatki). Namestil sem Mandrive Linux Limited edition 2005, do te¾ave pa 
> pridem ko ¾elim direktorij postaviti v skupno rabo.
>  
> Pri tem dobim sledeèe sporoèilo o napaki:
>  
> An error occurred while trying to share folder '/home/aljosa/slike'. Make 
> shure that the Perl script 'fileshareset' is set suid root.
>  
> Vpra¹anje: kaj mi je storiti da omenjeni direktorij uspe¹no dam v skupno
> rabo.

Hm...

"suid" (Set UID) pomeni da program, ob zagonu, dobi privilegije *lastnika
skripte* (in ne uporabnika ki jo ta tren starta, kot bi bilo obicajno).

Torej je za 'suid root' efekt, pod pogojem da se skripta nahaja recimo v
/usr/local/bin/fileshareset, treba napisati:

chown root.root /usr/local/bin/fileshareset
chmod u+s       /usr/local/bin/fileshareset


Problem v navedenem je ta, da Linux kernel enostavno ignorira suid
bit na nekompajliranih fajlih (zaradi ogromnega stevila security 
problemov povezanih z suid skriptami).

Perl skript jezik uporablja t.i. suidperl za "resitev" tega problema.
Torej je, ce se ob zgoraj navedenem in zagonu skripte, pojavi error v stilu
"Can't do setuid (cannot exec sperl)", treba instalirati se perl-suid paket
(ali podoben, odvisno od Linux distribucije).

LP


More information about the lugos-list mailing list