Flag bruges af macOS til at begrænse, hvordan en fil kan ændres. De er angivet anderledes end tilladelser og kører i en parallel struktur sammen med kommandoer som chown
og chmod
. Du vil bruge chflags
at ændre flag, samt ls
for at se flag. Unix kører et lignende system, men med et større antal muligheder kaldet "attributter" i stedet for flag.
Visning af sætflag på macOS
I Terminal kan du bruge en ls
flag for at se alle eksisterende flag.
ls-lO ~/Bibliotekdrwx@88 alexander personale skjult 2992 Jan 2514: 01 Bibliotek
Hvis der ikke er angivet flag for en fil eller mappe, vises der i stedet et bindestreg.
ls-lO ~/Bibliotek/Cacher. drwx+ 234 Alexander personale - 7956 Jan 2513: 03 Cacher
Sætflag kan fjernes ved at bruge deres inverse, som beskrevet nedenfor.
Indstilling og rydning af flag på macOS
![ved hjælp af-chflags-macos-chattr-lsattr-hero-set-flag ved hjælp af-chflags-macos-chattr-lsattr-hero-set-flag](/f/922977dca9e5ff5918239a1de968cbe7.jpg)
Flag kommer oftest som et problem. Fordi de angiver tilladelser med ekstra tilladelse, kan de være lette at gå glip af. Finder du dig selv med en fil, der ikke kan slettes, uanset hvor forhøjede dine brugerrettigheder er? Du skal muligvis rydde et eller to flag.
Flagene, der kan indstilles under macOS, er angivet nedenfor. Dette er den fulde liste over tilgængelige muligheder samt en forklaring på deres funktionalitet. De fleste flag kan kun indstilles af ejeren af filen eller superbrugeren; sappnd
og schg
kan kun indstilles af superbrugeren, da de er flag på systemniveau. Kun det skjulte flag kan indstilles uden privilegium -eskalering.
Indstilling af flag på macOS
Når du indstiller et flag på macOS, skal du bruge kommandoen herunder. Det rekursive flag -R
er tilgængelig for operationer på biblioteksniveau:
sudo chflags -R[flag]/usr/beholder/lokalsudo chflags [flag]/usr/beholder/lokal/mnt.sh. chflags -R skjult ~/Skrivebord
sætter det relevante flag. For eksempel sætter det følgende knudeflag:
sudo chflags nodump /usr/beholder/lokal/tty.sh
Kun et flag kan indstilles eller fjernes pr. Chflags -kommando.
- uigennemsigtig indstiller mappen til at blive uigennemsigtig, når den ses gennem en fagforening, en gammeldags måde at se flere mapper på samtidigt.
-
nodump forhindrer filen eller mappen i at blive dumpet under brug af
dump
kommando for at sikkerhedskopiere dit system. - sappnd, sappend indstiller systemets append-only flag, som gør det muligt at tilføje filen til, men ikke ændre eller slette. Hvis du fjerner dette flag, skal du gå ind i enkeltbrugerfunktion.
- schg, schange, simmutable indstiller systemets uforanderlige flag, som låser alle filændringer af alle brugere af ethvert privilegiumniveau. Hvis du fjerner dette flag, skal der angives enkeltbrugerfunktion.
-
uappnd, uappend indstiller brugerens flag, der kun er tilføjet. Dette kan indstilles af filejeren og kan ophæves af ejeren uden at eskalere privilegier. Da den låser filen, med
sappnd
ellerschg
ved lavere sikkerhed bruges den langt oftere. -
uchg, uchange, uimmutable sætter brugerens uforanderlige flag, som har det samme forhold til systemets uforanderlige flag som
uappnd
flag skalsappnd
. - skjult sætter det skjulte flag. Dette skjuler elementet i Finder GUI og ls -kommandoerne.
Rydning af flag på macOS
For at rydde et givet flag skal du sætte det modsatte. I de fleste tilfælde betyder dette, at man forbereder "nej" til din kommando. I tilfælde af nodump skal du bruge dumpflagget til at rydde sådan:
sudo chflags dump /usr/beholder/lokal/oty.sh
Flere standardtermer kan vendes med præfikset "nej", sådan:
sudo chflags nosappnd /usr/beholder/lokal/oty.sh
Som med chmod er der et rekursivt flag tilgængeligt:
chflags -R ikke skjult ~/Skrivebord
Når flag er blevet ryddet, kan du frit ændre ejerskabet og tilladelserne til filen som forventet.
Brug af attributter på Unix
![ved hjælp af-chflags-macos-chattr-lsattr-attributter ved hjælp af-chflags-macos-chattr-lsattr-attributter](/f/46e82b80bf2ca58e30dc631ab1da4a59.jpg)
Unix kører et lignende system på backend, men det håndteres med forskellige kommandoer. På de mest populære Linux -platforme har du i stedet adgang til chattr
og lsattr
. Disse flag bruges til at ændre og se "attributter", hvilket er hvad flag går efter på de fleste andre Unix -installationer.
Attributter kan ses med lsattr
:
lsattr/sti/til/file.txt
Ændring af attributter er baseret på en kode for initialisme og er angivet i chat mand side:
"Bogstaverne 'acdeijstuADST' vælger de nye attributter for filerne: tilføj kun (a), komprimeret (c), ingen dump (d), omfangsformat (e), uforanderlig (i), data journalisering (j), sikker sletning (er), ingen sammenfletning af halen (t), sletning (u), ingen atime-opdateringer (A), synkrone telefonbogsopdateringer (D), synkrone opdateringer (S) og toppen af bibliotekhierarkiet (T). ”
Kommandoen ser sådan ud:
chattr +s /fil/navn.txt
Det angiver attributten for sikker sletning for den angivne sti.
Afslutter
Flag er mest nyttige, når man begrænser, hvem der kan ændre en fil. Ved at låse filer kan du forhindre manipulation eller utilsigtede redigeringer på et filsystemniveau. Uden eskalering til root eller filejeren kan disse privilegier ikke ændres, så de er moderat sikre.
Tilknyttet offentliggørelse: Make Tech Easier kan optjene provision på produkter købt via vores links, hvilket understøtter det arbejde, vi udfører for vores læsere.