Početak › Forumi › Linuks › Opšte Linuks diskusije › Dozvole nad datotekama
- This topic has 8 odgovora, 5 glasova, and was last updated 20 years, 8 months ranije by
BrokeBody.
-
AutorČlanci
-
4. decembar 2005. u 5:17 pm #6608
Djrdje
UčesnikKako da namestim sve fajlove a ima ih mnogo skoro 1gb da i drugi mogu da ih citaju a samo ja da ih brisem, znam da krusader ima opcije za to ali nema sanse da to sve rucno radim. Evo kako to sada izgleda
[code]djole@morpheus ~ $ ls -l doc/share/knjige/unix/unix\ power\ tools/ch13/*
-rw——- 1 djole users 5858 Dec 1 14:42 ch13_05.htm
-rw——- 1 djole users 8629 Dec 1 14:42 ch13_06.htm
-rw——- 1 djole users 4552 Dec 1 14:42 ch13_07.htm
-rw——- 1 djole users 4982 Dec 1 14:42 ch13_08.htm
[/code]Znaci to mi treba za ceo share folder i sve u njemu
[code]djole@morpheus ~ $ ls -ld doc/share
drwx—r-x 2 djole users 12776 Dec 1 14:47 00
[/code]4. decembar 2005. u 5:59 pm #38113popeye
Glavni majstor[code]$ chmod -R 644 doc/share
$ for a in `find doc/share -type d`;
do
chmod 755 $a;
done;[/code]4. decembar 2005. u 6:56 pm #38114Diablo
UčesnikNije dobro, skidaš mu ‘x’ sa direktorijuma, neće moći find da prodje tuda.
$ find $HOME/doc/share -type f ( -perm u=rw ) -exec ls -l {} ; 2>/dev/null > files.list
$ cat files.list | xargs chmod 0644
$ find $HOME/doc/share -type d -exec ls -dg {} ; > dirs.list
$ cat dirs.list | xargs chmod 0755
—
edit typo4. decembar 2005. u 9:16 pm #38115popeye
Glavni majstorNije dobro, skidaš mu ‘x’ sa direktorijuma, neće moći find da prodje tuda.
U pravu si, onda ovako:
[code]$ for a in `find doc/share `;
do
if [ -f $a ]; then
chmod 644 $a
else
chmod 755 $a
fi
done;[/code]5. decembar 2005. u 10:22 am #38116Časlav Ilić
Učesnik[code]$ for a in `find doc/share `;
do
if [ -f $a ]; then
chmod 644 $a
else
chmod 755 $a
fi
done;[/code]Zatreba i meni ponekad masovno menjanje atributa, tako da znam za dva problema sa ovim kodom: biće jako spor (chmod se poziva za svaku datoteku, iako može da prihvati više njih kao argumente), i neće raditi za imena koja sadrži razmak. Ja koristim:
[code]$ find putanja/dokle/treba -type f -print0 | xargs -0 chmod 644
$ find putanja/dokle/treba -type d -print0 | xargs -0 chmod 755[/code]5. decembar 2005. u 2:19 pm #38117popeye
Glavni majstorHehe, svaka čast. A ovo?
[code]# chmod -R 644 /putanja/doc/share
# chmod -R +X /putanja/doc/share[/code]5. decembar 2005. u 2:57 pm #38118Časlav Ilić
UčesnikNisam znao za ovo veliko X, ali ipak se ne bih približavao tarabi kad ne moram 🙂
5. decembar 2005. u 3:29 pm #38119popeye
Glavni majstorJedan razlog zašto je ovo bolje od prethodnih rešenja je moguće ograničenje na dužinu naredbe. POSIX preporuka je da to iznosi 4096 karaktera, a varira od sistema do sistema, pa je ovo možda i najportabilnije?
22. decembar 2005. u 12:03 pm #38120BrokeBody
UčesnikE ovo je i meni pomoglo. Hvala svima.
-
AutorČlanci
Moraš biti prijavljen da bi postavio komentar u ovoj temi.