Re: Práva u mkdir -p -m

Miroslav Vancl mira.vancl na gmail.com
Čtvrtek Leden 6 14:22:35 CET 2011


Můj RH to dělá trochu jinak ale výsledek je (až na moji výchozí
hodnotu umask) stejný:
umask(0)                                = 027
stat("a/b/c", 0x7fffd0e42630)           = -1 ENOENT (No such file or directory)
umask(0)                                = 0
open(".", O_RDONLY)                     = 3
mkdir("a", 0750)                        = 0
chdir("a")                              = 0
mkdir("b", 0750)                        = 0
chdir("b")                              = 0
umask(0)                                = 0
mkdir("c", 0700)                        = 0

Vypadá to, že hodnotu --mask uplatňuje jen na poslední adresář, jinak
jede podle umask, snad je to i logické (option se nevztahuje na
implicitně tvořené adresáře).

Otázkou je, proč příkaz manipuluje s hodnotou umask. Vypadá to, že ji
jen simuluje ale proč, proč nenechá konat jádro ?

M. Vancl


2011/1/6 Ladislav Vaiz <spam na nagano.cz>:
> Ahoj,
> je v pořádku, aby se  mkdir -p -m 0700 aaa/bbb/ccc/ddd
> choval takto?
>
> umask(0)                                = 07
> mkdir("aaa", 0770)                      = 0
> open("aaa", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_NOFOLLOW)
> = 3
> fchdir(3)                               = 0
> close(3)                                = 0
> mkdir("bbb", 0770)                      = 0
> open("bbb", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_NOFOLLOW)
> = 3
> fchdir(3)                               = 0
> close(3)                                = 0
> mkdir("ccc", 0770)                      = 0
> open("ccc", O_RDONLY|O_NOCTTY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_NOFOLLOW)
> = 3
> fchdir(3)                               = 0
> close(3)                                = 0
> mkdir("ddd", 0700)                      = 0
>
> Čekal bych, že 0700 budou mít všechny adresáře.
> Zkoušeno na Debianu Lenny.
>
> Láďa
>
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
>



Další informace o konferenci Linux