Opravneni na adresare - dotaz
Alexandr Malusek
malusek na hroch.ujf.cas.cz
Pondělí Únor 12 15:07:29 CET 2001
Blasko na vuje.sk (Blasko Marek) writes:
> > Prava u adresaru zmente na 755 (drwxr-xr-x). Neni-li u adresare x-bit,
> > coz je pripad 644 (drw-r--r--), pak do nej nemuzete vstoupit (detaily
> > najdete u popisu systemoveho volani stat()). Je to vlastnost, nikoliv
> > chyba - nejak se s tim smirte ;-).
>
> vstupit sa da ale nemozte ich listovat. v nejakej zaciatocnickej
> prirucke som to cital.
Je to naopak - obsah takoveho adresare muzete vypsat, ale nemuzete do
nej vstoupit. Kdybyste si radsi precetl stat(2) nez zacatecnicke
prirucky, udelal byste lepe ;-).
> teda dir ./adresar neprejde
To je ptakovina:
$ ls -ld d1
drw-r--r-- 2 malusek malusek 4096 Feb 12 14:39 d1
$ /bin/ls d1 # Vypis obsahu projde.
s1
> ake ./adresar/a.out spustit pojde.
To je take ptakovina:
$ d1/s1
bash: d1/s1: Permission denied # Tam ulozene programy spoustet nelze
V "man stat" to mate napsane v 1. odstavci:
These functions return information about the specified
file. You do not need any access rights to the file to
get this information but you need search rights to all
directories named in the path leading to the file.
Aby system mohl spustit program, musi zjistit jeho pristupova prava.
Ta se zjistuji volanim stat(). No a stat() zafunguje jen v pripade, ze
mate x-bit u vsech adresaru v ceste (v man page tomu rikaji search
rights).
--
A. Malusek (malusek na ujf.cas.cz)
UJF AV CR
Další informace o konferenci Linux