Jak zmienić wszystkie pliki na 644 i wszystkie foldery na 755 przy użyciu chmod
z linux
wiersza polecenia? (Terminal)
terminal
command-prompt
chmod
Hugo der Hungrige
źródło
źródło
http://superuser.com
:: P, ale to pytanie pomogło mi tutaj, dzięki.chmod -R u+rwX,go+rX,go-w /foo
Odpowiedzi:
Jednym podejściem może być użycie find:
dla katalogów
dla plików
źródło
sudo find /your/location -type f -exec chmod 644 {} \;
plików isudo find /your/location -type d -exec chmod 755 {} \;
katalogówchmod -R a=r,u+w,a+X /foo
?unable to execute /bin/chmod: Argument list too long
Najłatwiej jest to zrobić:
co w zasadzie oznacza:
do
ch
ange plikumod
es-R
ecursively podając:u
ser: uprawnienia eadr
,w
obrządkowe i eX
ecute,g
rupa io
nne użytkownicy:r
EAD i eX
ecute uprawnienia, ale nie-w
ryt zgody.Pamiętaj, że
X
spowoduje to, że katalog będzie wykonywalny, ale nie plik, chyba że jest już możliwy do przeszukiwania / wykonywania.Sprawdź
man chmod
więcej szczegółów.Zobacz także: Jak przeskoczyć wszystkie katalogi oprócz plików (rekurencyjnie)? w SU
źródło
Najkrótszy, jaki mogłem wymyślić, to:
który działa na GNU / Linux, i ogólnie wierzę w Posix (z mojego czytania: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html ).
To robi:
Co ważne, uprawnienie kroku 1 usuwa wszystkie bity wykonania, więc krok 3 dodaje tylko bity wykonania z powrotem dla katalogów (nigdy plików). Ponadto wszystkie trzy kroki mają miejsce przed ponownym przekierowaniem katalogu do katalogu (więc nie jest to równoważne np
ponieważ a = r usuwa x z katalogów, więc chmod nie może się w nich ponownie znaleźć.)
źródło
Najłatwiejsze do zapamiętania są dwie operacje:
+ X wpływa tylko na katalogi.
źródło
Na https://help.directadmin.com/item.php?id=589 piszą:
Jeśli potrzebujesz szybkiego sposobu zresetowania danych public_html do 755 dla katalogów i 644 dla plików, możesz użyć czegoś takiego:
Testowałem i ... działa!
źródło
To działało dla mnie:
źródło
find /A -type X -exec chmod Y '{}' \;
Wykonaj obie czynności za jednym razem z:
Jak w, znajdź typ f LUB wpisz d, i wykonaj pierwszy ... dla plików, a drugi ... dla katalogów. Konkretnie:
Pozostaw to,
--changes
jeśli chcesz, aby działało po cichu.źródło
Jeśli potrzebujesz szybkiego sposobu zresetowania danych public_html do 755 dla katalogów i 644 dla plików, możesz użyć czegoś takiego:
dodatkowo, jeśli wiesz, że PHP działa jako użytkownik, a nie jako „apache”, możesz ustawić pliki PHP na 600, dla dodatkowego poziomu bezpieczeństwa, np .:
Możesz znaleźć ten zasób tutaj: https://help.directadmin.com/item.php?id=589
źródło
To też może działać:
źródło