Portál AbcLinuxu, 7. listopadu 2025 05:55
/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.