Permission denied

Alexandr Malusek malusek na sysel.ujf.cas.cz
Sobota Červenec 19 18:16:42 CEST 1997


> ishtar:/v/ftp-storage-2$ ls -la
> total 16
> drwxrwsr-x  16 root     mp3          1024 Jul 17 13:53 ./
> drwxr-xr-x   6 root     root         1024 Jul 15 10:59 ../
>
>   Jsem ve skupine 'mp3'. Presto pri pokusu o zapisu do tohoto
> adresare dostanu 'permission denied'.

Zajimavy problem. Kdyz pominu SW chybu, pak by k podobne situaci
mohlo dojit za nasledujicich podminek:

1. Nejste root a clenem mp3 jste se stal az po svem zalogovani.
Domnivam se, ze to funguje tak, ze proces login ziska Vas GID list z
/etc/group (nebo jmenne sluzby) v okamziku, kdy se prilogovavate, a
login shell od nej tento GID list zdedi. Od login shellu ho pak dedi
vsechny procesy, ktere z nej spoustite - do /etc/group se pri svem
spusteni jiz nedivaji (samozrejme krome prikazu su, ... ktere overuji
Vasi identitu) Kdyby to bylo jinak, tak me opravte. Prikazem "id" si
zjistete, zda skutecne jste v mp3.

2. adresar je ve sprave nejakeho demona. Nejedna se se tedy o klasicky
diskovy adresar, ale o "virtualni" adresar. Typickym prikladem je
adresar /home a /net na Solarisu, ktery je ve sprave automounteru.
No, vidim, ze na Linuxu mam /net ve sprave demona amd. Da se to overit
prikazem "mount". U techto adresaru obvykle bezne prikazy pro praci s
filesystemem nefunguji.

V uvahu pripada i nasledujici moznost, ale myslim, ze v tomto pripade
by se vypsala hlaska "write-error, read only filesystem", nikoliv
"permission denied".

3. Filesystem je namontovany jako read-only. Toto se tyka jak NFS, tak
i diskoveho filesystemu. Prikazem "mount" si vypiste, jake mate volby
pro montovani.

Pokud byste prekrocil "quota", tak by se vypisovala jina hlaska, nez
permission denied. Pokud si to spravne pamatuji, tak Solaris ma GID
list omezeny na 16 skupin. Na Linuxu jich mohu mit vic, ale pri pouziti
NFS se muze brat v uvahu jen 16. Nic jineho me zatim nenapada.  

-- 
S pozdravem,
Alexandr Malusek (malusek na ujf.cas.cz)
UJF AV CR


Další informace o konferenci Linux