Voer Chmod afzonderlijk uit voor bestanden en mappen
Als je een Linux-gebruiker bent, heb je waarschijnlijk wel eens gehoord van de console-app chmod. Het is een handig hulpmiddel waarmee u de machtigingen van het bestandssysteem kunt wijzigen met behulp van een terminalsessie of een terminalemulator. Wanneer u het uitvoert, verandert het de machtigingen die u opgeeft voor bestanden en mappen in één keer. Maar het kan zijn dat u de bestandsmachtigingen afzonderlijk van de mapmachtigingen moet wijzigen en vice versa. Hier is hoe het kan.
Er zijn verschillende manieren om het te doen, maar mijn favoriete en meest betrouwbare manier om het te doen is door chmod te combineren met xrags en vind gereedschap. Met de volgende opdracht worden alleen de machtigingen voor bestanden gewijzigd.
zoek /pad/naar/locatie -type f -print0|xargs -0 chmod 644
Hier de vind commando geeft een overzicht van alle bestanden op de opgegeven locatie. De schakeloptie -type f vertelt het om alleen bestanden weer te geven en mappen uit te sluiten. De schakeloptie -print0 maakt het mogelijk bestandsnamen op een zodanige manier te verwerken dat bestands- of directorynamen die spaties of nieuwe regels bevatten, correct worden afgehandeld.
Een vergelijkbare geschikte opdracht kan ook voor mappen worden gebruikt. Het enige deel dat u hoeft te wijzigen is -type f in -type d:
zoek /pad/naar/locatie -type d -print0 |xargs -0 chmod 755
Tip: je kunt je tijd besparen en minder typen door deze truc te gebruiken.
- Pas eerst bestandssysteemmachtigingen toe op bestanden en mappen door chmod in recursieve modus uit te voeren:
chmod -R 644 /pad/naar/locatie
Het zal rw-r-r-machtigingen toepassen op alle bestanden en mappen op de opgegeven locatie.
- Voer vervolgens de opdracht alleen voor mappen uit:
zoek /pad/naar/locatie -type d -print0 |xargs -0 chmod 755
Dat is het.