Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
najprościej chyba będie użyć finda z -exec
find /home/test -type f -exec chmod 2660 '{}' ';' find /home/test -type d -exec chmod 2770 '{}' ';'
gdybyś nie potrzebował rozróżnienia, wystarczyłaby flaga -R dla chmod
Offline
czadman napisał(-a):
Kod:
chmod -R u+rwX,g+srwX,o-rwXx *Manuale czytać, a nie kombinować. :)
OK 2660 tak da się zrobić ale ja wybrać tylko pliki a później tylko foldery w chmod
azhag rozwiązał to w 100% a to co powyżej napisałeś to wystarczy dać:
chmod -R 2660 *
to samo da i jest chyba lekko prostsze, ale niestety nie jest rozwiązaniem problemu. Jeszcze raz dzięki azhag.
Offline
djjanek napisał(-a):
czadman napisał(-a):
Kod:
chmod -R u+rwX,g+srwX,o-rwXx *Manuale czytać, a nie kombinować. :)
OK 2660 tak da się zrobić ale ja wybrać tylko pliki a później tylko foldery w chmod
azhag rozwiązał to w 100% a to co powyżej napisałeś to wystarczy dać:Kod:
chmod -R 2660 *to samo da i jest chyba lekko prostsze, ale niestety nie jest rozwiązaniem problemu. Jeszcze raz dzięki azhag.
Ciężki przypadek, poważna awersja do czytania. :)
Ehh...
Offline
czadman napisał(-a):
Kod:
chmod -R u+rwX,g+srwX,o-rwXx *Manuale czytać, a nie kombinować. :)
ale jest pewna roznica ... to co zaproponowales nie odbierze wykonywalnosci plikom ktore takowa mialy nadana wczesniej ...
Offline
bercik napisał(-a):
czadman napisał(-a):
Kod:
chmod -R u+rwX,g+srwX,o-rwXx *Manuale czytać, a nie kombinować. :)
ale jest pewna roznica ... to co zaproponowales nie odbierze wykonywalnosci plikom ktore takowa mialy nadana wczesniej ...
No dobrze, drobna modyfikacja, wszak nie chodziło mi o szczegóły, ale o coś gorszego.... :)
chmod -R u=rwX,g=srwX,o= *
Offline
urug napisał(-a):
Szczerze mówiąc, to ja już wolę rozwiązanie z find'em :-P
Jest milsze dla oka.
A mój brat jest silniejszy. ;)
Find służy do szukania, a tu nie ma czego szukać, ale nawet najintymniejsze pragnienia można zaspokoić:
find /home/test -exec chmod u=rwX,g=srwX,o= {} \;
Ostatnio edytowany przez czadman (2009-02-21 09:55:01)
Offline
Find służy do szukania
Służy do tego, co potrafisz z nim zrobić :-)
Stosuję to 'motto' do wszystkich aplikacji z których korzystam i źle na tym nie wychodzę :P
Ostatnio edytowany przez urug (2009-02-21 10:28:28)
Offline
urug napisał(-a):
Find służy do szukania
Służy do tego, co potrafisz z nim zrobić :-)
Stosuję to 'motto' do wszystkich aplikacji z których korzystam i źle na tym nie wychodzę :P
Błądziłem po omacku, ale teraz otworzyłeś mi oczy i wiem jak postąpić. :)
Bye.
Offline
czadman napisał(-a):
No dobrze, drobna modyfikacja, wszak nie chodziło mi o szczegóły, ale o coś gorszego.... :)
Kod:
chmod -R u=rwX,g=srwX,o= *
chodzilo mi o to:
man chmod napisał(-a):
execute/search only if the file is a directory or already has execute permission for some user (X)
czyli:
rrp@pc-n17:/tmp$ ls -l ttt/ razem 4,0K -rw-r--r-- 1 rrp rrp 0 2009-02-21 15:16:00 ppp -rwxr-xr-x 1 rrp rrp 0 2009-02-21 15:16:03 qqq drwxr-xr-x 2 rrp rrp 4,0K 2009-02-21 15:16:31 yyy rrp@pc-n17:/tmp$ chmod -R u=rwX,g=srwX,o= ttt/ rrp@pc-n17:/tmp$ ls -l ttt/ razem 4,0K -rw-rwS--- 1 rrp rrp 0 2009-02-21 15:16:00 ppp -rwxrws--- 1 rrp rrp 0 2009-02-21 15:16:03 qqq drwxrws--- 2 rrp rrp 4,0K 2009-02-21 15:16:31 yyy
Offline
azhag napisał(-a):
najprościej chyba będie użyć finda z -exec
Kod:
find /home/test -type f -exec chmod 2660 '{}' ';' find /home/test -type d -exec chmod 2770 '{}' ';'gdybyś nie potrzebował rozróżnienia, wystarczyłaby flaga -R dla chmod
A ja mam takie pytanie co oznacza koncowka tych dwoch polecen?
'{}' ';'
Offline
Podstawia jako argument polecenia z -exec ścieżkę do znalezionego pliku/katalogu.
Notabene za dawnych czasów czytałem, że wykonując find z -exec, średnik należy poprzedzić odwrotnym ukośnikiem żeby przypadkiem nie został zinterpretowany przez powłokę jako zakończenie polecenia find. Coś się od tego czasu (czyt. w ciągu ostatniej dekady) zmieniło?
Offline
raczej sie nie zmienilo ... pojedyncze apostrofy tez zabezpieczaja przed powloka ...
Offline
Oczywiście, nawet o tym nie pomyślałem :) .
Offline
Odpowiedź Minia wg mnie jest niesatysfakcjonująca.
Prostsza i, wg mnie lepsza, brzmi:
{} oznacza znaleziony plik (każdy po kolei, jak w pętli for), można używać wielokrotnie
; oznacza koniec polecenia z -exec.
Żeby znaki te nie zostały zinterpretowane przez powłokę, należy je otoczyć apostrofami lub odwrotnymi ukośnikami.
Offline
azhag napisał(-a):
Odpowiedź Minia wg mnie jest niesatysfakcjonująca.
Prostsza i, wg mnie lepsza, brzmi:
{} oznacza znaleziony plik (każdy po kolei, jak w pętli for), można używać wielokrotnie
; oznacza koniec polecenia z -exec.
Żeby znaki te nie zostały zinterpretowane przez powłokę, należy je otoczyć apostrofami lub odwrotnymi ukośnikami.
Takie mialem przeczucie, ze tak to dziala, nie mialem tylko pojecia po co te apostrofy ;-)
Ale juz wszystko jasne.
Offline