Android

Hur man ändrar rekursivt filens behörigheter i Linux

Основы Ubuntu Linux: apt-get, bash, командная строка

Основы Ubuntu Linux: apt-get, bash, командная строка

Innehållsförteckning:

Anonim

Linux är ett system med flera användare och åtkomst till filerna styrs genom filtillstånd, attribut och äganderätt. Detta säkerställer att endast godkända användare och processer kan komma åt filer och kataloger.

För mer information om filtillstånd, se "Umask-kommando i Linux"., förklarar vi hur man rekursivt kan ändra behörigheter för filer och kataloger.

Chmod rekursiv

Med chmod kommandot kan du ändra behörigheter för filer med symboliskt eller numeriskt läge.

För att rekursivt använda alla filer och kataloger under en given katalog använder du chmod kommandot med -R , (- --recursive ). Den allmänna syntaxen för att rekursivt ändra filens behörigheter är följande:

chmod -R MODE DIRECTORY

Om du till exempel vill ändra behörigheterna för alla filer och underkataloger under katalogen /var/www/html till 755 skulle du använda:

chmod -R 755 /var/www/html

Läget kan också specificeras med den symboliska metoden:

chmod -R u=rwx, go=rx /var/www/html

Endast root, filägaren eller användaren med sudo behörigheter kan ändra behörigheterna för en fil. Var extra försiktig när du rekursivt ändrar filernas behörigheter.

Använda kommandot Sök

I allmänhet bör filerna och katalogerna inte ha samma behörigheter. De flesta filer kräver inte körningstillstånd, medan du måste ställa in körrättigheter i katalogerna för att ändra till dem.

Det vanligaste scenariot är att rekursivt ändra webbplatsfilens behörigheter till 644 och katalogbehörigheter till 755 .

Med den numeriska metoden:

find /var/www/html -type d -exec chmod 755 {} ; find /var/www/html -type f -exec chmod 644 {} ;

Med hjälp av den symboliska metoden:

find /var/www/html -type d -exec chmod u=rwx, go=rx {} ; find /var/www/html -type f -exec chmod u=rw, go=r {} ;

Sökkommandot söker efter filer eller kataloger under /var/www/html och skickar varje hittad fil eller katalog till chmod kommandot för att ställa in behörigheter.

När du använder find med -exec chmod kommandot för varje hittad post. Använd kommandot xargs att påskynda operationen genom att skicka flera poster samtidigt:

find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type f -print0 | xargs -0 chmod 644 find /var/www/html -type f -print0 | xargs -0 chmod 644

Slutsats

Med chmod kommandot med -R alternativen kan du ändra rekursivt filens behörigheter.

chmod i kombination med chmod att rekursivt ställa tillstånd för filer baserat på deras typ.

chmod terminal