Chcę chmod
dużo plików i katalogów. Jak x
wskazuje lista katalogów i wykonanie dla zwykłych plików, chciałbym ubiegać się rw
o pliki i rwx
katalogi. Czy to możliwe, używając tylko chmod
polecenia?
Jeśli nie, jaki jest najwygodniejszy sposób?
Wykonanie takiej czynności chmod -R 770
nie jest możliwe, ponieważ nie chcę, aby zwykłe pliki były wykonywalne.
linux
permissions
file-management
Usunięte
źródło
źródło
Odpowiedzi:
Robię to czasami przy użyciu jednego
find
polecenia. Brzydki, ale skuteczny.źródło
find . -type d -exec chmod -vc 755 "{}" \;
(w tym-vc
za opinie). (A może, aby to wyjaśnić, dodać również dwa niezależne polecenia do odpowiedzi?)Użyj uprawnienia X ze strony man:
Wykonaj następujące czynności:
Usuwa to bit wykonawczy ze wszystkich plików i katalogów, a następnie dodaje uprawnienia do odczytu i zapisu do wszystkiego oraz wykonuje uprawnienia tylko do katalogów. (Żadne zwykłe pliki nie mają już bitu wykonania od pierwszego kroku.)
źródło
chmod -R a-x [directory]
pochmod -R a+rwX [directory]
?a-x
, katalog nie będzie dostępny. W rzeczywistości chmod kończy się niepowodzeniem z odmową uprawnień i nie usunie bitu wykonywalnego z plików w katalogu. Czy istnieje sposób, aby to zrobić bez rootowania?Możesz także użyć
find
wraz zxargs
:gdzie
-type
określa d irectory lub f Ile.źródło
xargs
jest wystarczająco sprytny, aby przełamać długie wiersze poleceń do wielu wykonań. Sprawdź swoją stronę xargs i koniecznie sprawdźxargs --show-limits
.