Octale bestandsmachtigingen krijgen via de opdrachtregel in Mac OS
Inhoudsopgave:
Gebruikers van de opdrachtregel zijn waarschijnlijk bekend met het gebruik van chmod om bestandsrechten in numerieke of octale notatie in te stellen, bijvoorbeeld door een commando als 'chmod 755 bestandsnaam' uit te voeren, maar heb je je ooit afgevraagd hoe je bestandsrechten kunt krijgen in octaal formaat?
Als u de octale numerieke waarde van machtigingen van een bestand of map wilt zien of bekijken via de opdrachtregel, kunt u hiervoor de opdracht stat in Mac OS gebruiken.
We gaan ervan uit dat je een redelijk niveau van ervaring en comfort op de commandoregel hebt, als je dat niet hebt, is dit artikel waarschijnlijk niet relevant voor jou. De meeste Mac-gebruikers zullen bestandsrechten alleen via de Mac Finder bekijken of wijzigen, zoals elders beschreven (als dat al het geval is), terwijl dit specifieke artikel gericht is op meer gevorderde gebruikers.
Numerieke chmod-toestemmingswaarden verkrijgen op de Mac
Om aan de slag te gaan, start u de Terminal-app vanuit /Applicaties/ op de Mac en gebruikt u de volgende opdrachten:
stat -f %A bestand.txt
Die opdracht kan bijvoorbeeld iets als het volgende uitvoeren:
$ stat -f %A wget-1.18.tar.gz 644
In dit voorbeeld is '644' de octale waarde van de machtigingen voor dat bestand.
U kunt ook -f en %OLp gebruiken (ja, dat is een hoofdletter 'o' en geen nul), de uitvoer zal hetzelfde zijn, ervan uitgaande dat het bestand ook:
stat -f %OLp /Applicaties/Systeem\ Preferences.app
Voorbeeld van uitvoer voor die opdracht kan er als volgt uitzien, met de numerieke octale waardetoestemmingen voor het doelitem:
"$ stat -f %OLp>"
In dit voorbeeld heeft de toepassing "Systeemvoorkeuren" een octale machtigingswaarde van 775.
Je zou geen aanhalingstekens moeten gebruiken, maar als je om wat voor reden dan ook een bestandsnaam of pad moet ontwijken, of voor scriptdoeleinden, kun je ze gemakkelijk als volgt plaatsen:
"stat -f %OLp>"
De vlag -f is voor formaat, je kunt over specifieke opmaakopties voor de stat-uitvoer van de handleidingpagina op stat met 'man stat'.
In het laatste geval is de "O" (hoofdletter o) specifiek voor het bereiken van octale output.
Het kennen van de exacte numerieke machtigingen van een bestand of map is om zoveel redenen enorm handig, en het kan handig zijn om dit te weten als u de machtigingen van verschillende items aanpast, of zelfs als u' bestanden op de Mac verplaatsen en de exacte machtigingen willen behouden en achteraf willen verifiëren. Er zijn ook talloze andere toepassingen, vooral als je een server van welke soort dan ook draait vanaf de Mac.
Deze commando's zouden hetzelfde moeten werken voor het ophalen van octale permissies in zowat elke versie van macOS, MacOS of Mac OS X, ongeacht hoe de naamgevingsconventie wordt gebruikt. Opvallend is echter dat de aanpak voor het verkrijgen van octale permissies op de Mac anders is dan in de rest van de Linux-wereld, dus als je vanuit de Linux-wereld naar de Mac komt, moet je de stat-opdrachtvlaggen aanpassen om nauwkeurig te krijgen de permissies in octaal formaat, dat zullen we hierna snel behandelen.
Machtigingen voor octale bestanden verkrijgen via de opdrachtregel in Linux
Om volledig te zijn, zullen we kort ingaan op het verkrijgen van octale permissiewaarden in de Linux-wereld, waar je het volgende kunt gebruiken om de octale bestandspermissies te krijgen:
"stat -c %a %n /Pad/Naar/Bestand"
Je kunt ook eenvoudiger het stat -c commando gebruiken:
stat -c %a /Pad/Naar/Bestand.txt
De numerieke waarde-uitvoer zal hoe dan ook hetzelfde zijn, zolang het ingevoerde doelbestand natuurlijk hetzelfde is.
Nogmaals, deze laatste twee benaderingen zijn linux-specifiek, en je zult de hierboven beschreven methoden moeten gebruiken om octale waarden van permissies van een bestand in Mac OS te krijgen.
Kent u andere methoden of benaderingen voor het ophalen van de numerieke waarde van bestandsmachtigingen op een Mac? Deel ze in de reacties hieronder!