Portál AbcLinuxu, 5. května 2025 23:21
/data/file_server/upload
a súbory alebo priečinky ktoré nevlastní užívateľ s uid 1004
mali byť zmenené na užívateľa s uid 1004
v mojom prípade je to užívateľ matej
.zmen-vlastnika-uploadu.sh
obsahuje:
#!/bin/bash
/usr/bin/find /data/file_server/upload/ \! -uid 1004 -exec /usr/bin/chown matej '{}' \;
V tom priečinku upload
sa nachádzajú tri objekty ktoré nemajú vlastníka s uid 1004
. Jeden priečinok a dva súbory. Keď tento skript spustím /root/./zmen-vlastnika-uploadu.sh
tak mi vyskočia tri hlásenia:
/usr/bin/find: `/usr/bin/chown': Adresár alebo súbor neexistuje
/usr/bin/find: `/usr/bin/chown': Adresár alebo súbor neexistuje
/usr/bin/find: `/usr/bin/chown': Adresár alebo súbor neexistuje
/data/file_server/upload/
sú tri súbory ktoré nemajú vlastníka s uid 1004
, tak preto sú aj tri hlásenia. Čiže skript, ich dokáže nájsť, ale už nie zmeniť. Asi tam zle zadá cestu k súboru/priečinku alebo niečo podobné. Viete mi niekto poradiť?
Řešení dotazu:
chown
, ten sa nachádza v ./bin/chown
a nie v /usr/bin/chown
.
chown -R matej /data/file_server/upload
set [+|-]h
find
/chmod
, ne samotný "chmod -R
".
make install
" jako root. Teď jsem to zkusil rychlý test na tmpfs a vycházelo to srovnatelně, takže možná mezitím chown
opravili. Až budu mít čas, zkusím ještě zreprodukovat tu původní situaci, jestli se to opravdu změnilo.
/usr/bin/find /data/file_server/upload/ \! -uid 1004 -exec /usr/bin/chown matej '{}' +pokud byl problém s
chown -R
find
má i -user
, tedy aspoň GNU find.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.