sudo chmod -R 777 Zadaku/
tos udelal vylozene spatne .... navic to to ani nebude fungovat, jak si predstavujes .. kazdej novej soubor co vytvoris bude mit jina prava nez 777 nemluve o tom, ze jsi vlastne vsem souborum nastavil natvrdo vyse uvedene ...
kdyz uz, tak by ses mel ptat na to, jak zmenit inteligentne prava skupiny, aby byla stejna, jako prava majitele .. ted predpokladam, ze chapes zakladni koncept prav v unixu a ridis se podle toho ..
to co ti sem napisu nedelej, sice to funguje, ale je to zverstvo, pocitac to boli, ublizoval bys mu ..
jak vazeni kolegove spocitam na urovni binarni prav, aby jedna ze skupin (user, group, owner) ziskala presna prava jako jina skupina ... protoze jsem by iirc na matiku zrovna nemocny kdyz jsme to probirali, tak mi nezbylo nic jineho nez vymyslet zverstvo jako tohle:
> _return_u_rights() { perl -e '@_r=("", "x", "w", "xw", "r", "rx", "rw", "rwx"); printf("%s", $_r[+( split "", sprintf("%04o", +( stat(shift) )[2] & 07777 ))[-3]])' $1; }
> find /var/tmp/foo | while read line; do chmod -v g=$(_return_u_rights $line) $line; done
mode of ‘/var/tmp/foo’ retained as 0775 (rwxrwxr-x)
mode of ‘/var/tmp/foo/1.html’ retained as 0664 (rw-rw-r--)
mode of ‘/var/tmp/foo/get_id_list.html’ retained as 0664 (rw-rw-r--)
jen mala napoveda:
> perl -e 'printf("%s\n", + ( stat("/etc/passwd") )[2])'
33188
> perl -e 'printf("%04o\n", + ( stat("/etc/passwd") )[2] & 07777)'
0644
zdravim, ntz