Android

Sådan rekursivt ændres filens tilladelser i linux

Meteor: a better way to build apps by Roger Zurawicki

Meteor: a better way to build apps by Roger Zurawicki

Indholdsfortegnelse:

Anonim

Linux er et flerbruger-system, og adgangen til filerne kontrolleres gennem filtilladelser, attributter og ejerskab. Dette sikrer, at kun autoriserede brugere og processer har adgang til filer og mapper.

For mere information om filtilladelser, se “Umask-kommando i Linux”., forklarer vi, hvordan man rekursivt kan ændre tilladelser til filer og mapper.

Chmod rekursiv

Med chmod kommandoen kan du ændre tilladelser for filer ved hjælp af symbolisk eller numerisk tilstand.

Hvis du vil rekursivt betjene alle filer og mapper under en given mappe, skal du bruge chmod kommandoen med -R , (- --recursive ). Den generelle syntaks til rekursivt at ændre filens tilladelser er som følger:

chmod -R MODE DIRECTORY

For eksempel at ændre tilladelserne til alle filer og undermapper under /var/www/html biblioteket til 755 , ville du bruge:

chmod -R 755 /var/www/html

Funktionen kan også specificeres ved hjælp af den symboliske metode:

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

Kun root, sudo eller bruger med sudo privilegier kan ændre tilladelser for en fil. Vær ekstra forsigtig, når du rekursivt ændrer filernes tilladelser.

Brug af find kommandoen

Generelt bør filerne og mapperne ikke have de samme tilladelser. De fleste filer kræver ikke udførelsestilladelse, mens du skal indstille udførelsestilladelser på bibliotekerne for at ændre dem.

Det mest almindelige scenarie er at rekursivt ændre webstedsfilens tilladelser til 644 og katalogets tilladelser til 755 .

Ved hjælp af den numeriske metode:

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

Ved hjælp af den symboliske metode:

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

find kommandoen søger efter filer eller mapper under /var/www/html og videresender hver fundne fil eller bibliotek til chmod kommandoen for at indstille tilladelserne.

Når du bruger find med -exec , køres chmod kommandoen for hver fundne post. Brug xargs kommandoen til at fremskynde handlingen ved at videregive flere poster ad gangen:

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

Konklusion

chmod kommandoen med -R indstillingerne giver dig mulighed for rekursivt at ændre filens tilladelser.

For at rekursivt indstille tilladelser for filer baseret på deres type, skal du bruge chmod i kombination med find kommandoen.

chmod terminal