Linux Terminal und Bash Grundlagen Teil 5 - Benutzer, Gruppen und Dateirechte
Indholdsfortegnelse:
- Linux-filtilladelser
- Brug af
chmod
- Symbolisk (tekst) metode
- Numerisk metode
- Brug af en referencefil
- Ændre filens tilladelser rekursivt
- Arbejder med symboliske links
- Ændring af filtilladelser i bulk
- Konklusion
I Linux styres adgang til filerne gennem filtilladelser, attributter og ejerskab. Dette sikrer, at kun autoriserede brugere og processer har adgang til filer og mapper.
Denne tutorial dækker hvordan man bruger
chmod
kommandoen til at ændre adgangstilladelser for filer og mapper.
Linux-filtilladelser
Inden vi går videre, lad os forklare den grundlæggende Linux-tilladelsesmodel.
I Linux er hver fil tilknyttet en ejer og en gruppe og tildelt tilladelsesadgangsrettigheder for tre forskellige klasser af brugere:
- Fileejeren. Gruppemedlemmerne. Andre (alle andre).
chgrp
kan ændres vha.
chgrp
og
chgrp
kommandoer.
Der er tre filtilladelsestyper, der gælder for hver klasse:
- Læs tilladelse. Skrivetilladelse. Udfør tilladelse.
Dette koncept giver dig mulighed for at specificere, hvilke brugere der har tilladelse til at læse filen, skrive til filen eller køre filen.
Filtilladelser kan vises ved hjælp af kommandoen
ls
:
ls -l filename.txt
-rw-r--r-- 12 linuxize users 12.0K Apr 8 20:51 filename.txt |- | | | | | | | | | | | | | +-----------> 7. Group | | | | | +-------------------> 6. Owner | | | | +--------------------------> 5. Alternate Access Method | | | +----------------------------> 4. Others Permissions | | +-------------------------------> 3. Group Permissions | +----------------------------------> 2. Owner Permissions +------------------------------------> 1. File Type
Det første tegn viser filtypen. Det kan være en almindelig fil (
-
), bibliotek (
d
), et symbolsk link (
l
) eller enhver anden speciel filtype.
De næste ni tegn repræsenterer filtilladelser, tre tripletter på tre tegn hver. Den første triplet viser ejertilladelser, den anden gruppe tilladelser, og den sidste triplet viser alle andre tilladelser. Tilladelser kan have en anden betydning afhængigt af filtypen.
I eksemplet ovenfor (
rw-r--r--
) betyder det, at
rw-r--r--
har læse- og skrivetilladelser (
rw-
), gruppen og andre har kun læsetilladelser (
r--
).
Hver af de tre tilladelsestripletter kan konstrueres af følgende tegn og har forskellige effekter, afhængigt af om de er indstillet til en fil eller til et bibliotek:
Effekten af tilladelser på filer
Tilladelse | Karakter | Betydning på fil |
---|---|---|
Læs |
-
|
Filen kan ikke læses. Du kan ikke se filindholdet. |
r
|
Filen kan læses. | |
Skrive |
-
|
Filen kan ikke ændres eller ændres. |
w
|
Filen kan ændres eller ændres. | |
Udfør |
-
|
Filen kan ikke udføres. |
x
|
Filen kan udføres. | |
s
|
Hvis den findes i
user
indstiller den
setuid
bit. Hvis den findes i
group
, indstiller den
setgid
bit. Det betyder også, at
x
flag er indstillet.
Når
|
|
S
|
Samme som
s
men
x
flag er ikke indstillet. Dette flag bruges sjældent på filer. |
|
t
|
Hvis den findes i den
others
triplet, sætter den den
sticky
bit.
Det betyder også, at
|
|
T
|
Det samme som
t
men
x
flaget er ikke indstillet. Dette flag er nytteløst i filer. |
Effekten af tilladelser på mapper (mapper)
I Linux er mapper specielle typer filer, der indeholder andre filer og mapper.
Tilladelse | Karakter | Betydning på katalog |
---|---|---|
Læs |
-
|
Katalogets indhold kan ikke vises. |
r
|
Katalogets indhold kan vises.
(f.eks. Du kan liste filer inde i biblioteket med
|
|
Skrive |
-
|
Katalogets indhold kan ikke ændres. |
w
|
Katalogets indhold kan ændres.
(f.eks. Du kan ikke oprette nye filer, slette filer.. osv.) |
|
Udfør |
-
|
Kataloget kan ikke ændres til. |
x
|
Kataloget kan navigeres ved hjælp af
cd
. |
|
s
|
Hvis den findes i
user
, indstiller den
setuid
bit. Hvis den findes i
group
indstiller den
setgid
bit. Det betyder også, at
x
flag er indstillet. Når
setgid
flaget er indstillet på et bibliotek, arver de nye filer, der er oprettet i det, kataloggruppe-ID (GID) i stedet for den primære gruppe-ID for den bruger, der oprettede filen.
|
|
S
|
Samme som
s
men
x
flag er ikke indstillet. Dette flag er ubrugeligt i mapper. |
|
t
|
Hvis den findes i den
others
triplet, sætter den den
sticky
bit.
Det betyder også, at
|
|
T
|
Det samme som
t
men
x
flaget er ikke indstillet. Dette flag er ubrugeligt i mapper. |
Brug af
chmod
chmod
kommandoen har følgende generelle form:
chmod MODE FILE…
Med
chmod
kommandoen kan du ændre tilladelserne på en fil ved hjælp af enten en symbolisk eller numerisk tilstand eller en referencefil. Vi vil forklare tilstande mere detaljeret senere. Kommandoen kan acceptere en eller flere filer og / eller mapper adskilt med mellemrum som argumenter.
Kun root, filejer eller bruger med sudo-privilegier kan ændre tilladelser for en fil. Vær ekstra forsigtig, når du bruger
chmod
, især når du rekursivt ændrer tilladelserne.
Symbolisk (tekst) metode
Syntaks for kommando
chmod
når du bruger symboltilstand, har følgende format:
chmod perms… FILE…
Det første sæt af flag (
), brugeres flag, definerer hvilke brugere, der klassificerer tilladelserne til filen, der ændres.
-
u
- Filsejeren.g
- Brugere, der er medlemmer af gruppen.o
- Alle andre brugere.a
- Alle brugere, identiske medugo
.
Hvis brugerflagget udelades, er standardindstillingen
a
og tilladelserne, der er indstillet af umask, påvirkes ikke.
Det andet sæt flag (
), opererer flagene, definerer, om tilladelserne skal fjernes, tilføjes eller indstilles:
-
-
Fjerner de specificerede tilladelser.+
Tilføjer specificerede tilladelser.=
Ændrer de nuværende tilladelser til de specificerede tilladelser. Hvis der ikke er angivet nogen tilladelser efter symbolet=
, fjernes alle tilladelser fra den specificerede brugerklasse.
Tilladelserne (
perms…
) kan eksplicit indstilles ved hjælp af enten nul eller en eller flere af følgende bogstaver:
r
,
w
,
x
,
X
,
s
og
t
. Brug et enkelt bogstav fra sættet
u
,
g
og
o
når du kopierer tilladelser fra en til en anden brugerklasse.
Når du indstiller tilladelser for mere end en brugerklasse (
), brug kommaer (uden mellemrum) til at adskille de symboliske tilstande.
Herunder er nogle eksempler på, hvordan du bruger
chmod
kommandoen i symboltilstand:
-
Giv gruppens medlemmer tilladelse til at læse filen, men ikke at skrive og udføre den:
chmod g=r filename
Fjern udførelsestilladelsen for alle brugere:
chmod ax filename
Fjern afvisende skrivetilladelse for andre brugere:
chmod -R ow dirname
Fjern læse, skrive og udføre tilladelse for alle brugere undtagen filens ejer:
chmod og-rwx filename
Den samme ting kan også opnås ved at bruge følgende formular:
chmod og= filename
Giv læse, skriv og udfør tilladelse til filens ejer, læs tilladelser til filens gruppe og ingen tilladelser til alle andre brugere:
chmod u=rwx, g=r, o= filename
Føj filens ejertilladelser til de tilladelser, som medlemmerne af filgruppen har:
chmod g+u filename
Føj en klistret bit til et givet bibliotek:
chmod o+t dirname
Numerisk metode
Syntaks for
chmod
når du bruger en numerisk metode, har følgende format:
chmod NUMBER FILE…
Når du bruger den numeriske tilstand, kan du indstille tilladelserne for alle tre brugerklasser (ejer, gruppe og alle andre) på samme tid.
NUMBER
kan være et 3 eller 4-cifret tal.
Når der bruges 3 cifret nummer, repræsenterer det første ciffer tilladelser for filens ejer, det andet i filgruppen og det sidste alle andre brugere.
Hver skrivning, læse og udførelse af tilladelser har følgende talværdi:
-
r
(læst) = 4w
(skriv) = 2x
(udfør) = 1 ingen tilladelser = 0
Permissionsnummeret for en bestemt brugerklasse er repræsenteret af summen af værdierne for tilladelserne for den gruppe.
For at finde ud af filens tilladelser i numerisk tilstand beregner du blot totalerne for alle brugerklasser. For eksempel at give læse, skrive og udføre tilladelse til filens ejer, læse og udføre tilladelser til filens gruppe og kun læse tilladelser til alle andre brugere, ville du gøre følgende:
- Ejer: rwx = 4 + 2 + 1 = 7Gruppe: rx = 4 + 0 + 1 = 5Andre: rx = 4 + 0 + 0 = 4
Ved hjælp af ovenstående metode kommer vi op på tallet
754
, der repræsenterer de ønskede tilladelser.
Brug fire firecifre til at opsætte
setuid
,
setgid
og
sticky bit
flag.
Når det 4-cifrede nummer bruges, har det første ciffer følgende betydning:
- setuid = 4setgid = 2sticky = 1 ingen ændringer = 0
De næste tre cifre har den samme betydning som ved brug af 3 cifret tal.
Hvis det første ciffer er 0, kan det udelades, og tilstanden kan repræsenteres med 3 cifre. Den numeriske tilstand
0755
er den samme som
755
.
For at beregne den numeriske tilstand kan du også bruge en anden metode (binær metode), men den er lidt mere kompliceret. At vide, hvordan man beregner den numeriske tilstand ved hjælp af 4, 2 og 1, er tilstrækkelig for de fleste brugere.
Du kan kontrollere filens tilladelser i den numeriske notation ved hjælp af kommandoen
stat
:
stat -c "%a" filename
644
Her er nogle eksempler på, hvordan du bruger
chmod
kommandoen i numerisk tilstand:
-
Giv filens ejer læse- og skrivetilladelser og læs kun tilladelser til gruppemedlemmer og alle andre brugere:
chmod 644 dirname
Giv filens ejer læse, skrive og udføre tilladelser, læse og udføre tilladelser til gruppemedlemmer og ingen tilladelser til alle andre brugere:
chmod 750 dirname
Giv læse, skrive og udføre tilladelser og en klistret bit til et givet bibliotek:
chmod 1777 dirname
Sæt rekursivt læse-, skrive- og udførelsestilladelser til fileejeren og ingen tilladelser for alle andre brugere i en given mappe:
chmod -R 700 dirname
Brug af en referencefil
Indstillingen
--reference=ref_file
giver dig mulighed for at indstille filens tilladelser til at være de samme som for den specificerede referencefil (
ref_file
).
chmod --reference=REF_FILE FILE
For eksempel tildeler følgende kommando tilladelserne til
file1
til
file2
Ændre filens tilladelser rekursivt
Hvis du vil rekursivt betjene alle filer og mapper under det givne bibliotek, skal du bruge indstillingen
-R
(-
--recursive
):
chmod -R MODE DIRECTORY
For eksempel at ændre tilladelserne for alle filer og undermapper under mappen
/var/www
til
755
, ville du bruge:
Arbejder med symboliske links
Symboliske links har altid
777
tilladelser.
Ved ændring af symlink's tilladelser ændrer
chmod
som standard tilladelserne på filen, som linket peger på.
chmod 755 symlink
Chancerne er store, at i stedet for at ændre måleejerskabet, får du en "ikke adgang til" symlink ": tilladelse afvist" -fejl.
Fejlen opstår, fordi som standard på de fleste Linux-distributioner er symlink beskyttet, og du kan ikke operere på målfiler. Denne indstilling er specificeret i
/proc/sys/fs/protected_symlinks
.
1
betyder aktiveret og
0
deaktiveret. Det anbefales ikke at deaktivere symlinkbeskyttelsen.
Ændring af filtilladelser i bulk
Nogle gange er der situationer, hvor du bliver nødt til at bulk ændre filer og mapper tilladelser.
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/my_website -type d -exec chmod 755 {} ;
find /var/www/my_website -type f -exec chmod 644 {} ;
Ved hjælp af den symboliske metode:
find /var/www/my_website -type d -exec chmod u=rwx, go=rx {} ;
find /var/www/my_website -type f -exec chmod u=rw, go=r {} ;
find
kommandoen vil søge efter filer og mapper under
/var/www/my_website
og videregive hver fundne fil og mappe til
chmod
kommandoen for at indstille tilladelserne.
Konklusion
chmod
kommandoen ændrer filens tilladelser. Tilladelserne kan indstilles ved hjælp af symbolsk eller numerisk tilstand.
For at lære mere om
chmod
besøge siden chmod man.
Fedora-projektet lancerede en beta af den næste version af sit gratis Linux-OS med nye sikkerheds-, desktop- og udviklerfunktioner, der giver et glimt af den retning, Red Hat kunne tage med sin Linux-distribution.
Fedora 11 beta er tilgængelig online til download fra projektets hjemmeside. Projektet beskriver nogle af højdepunkterne i udgivelsen i et blogindlæg. Den endelige udgivelse af Fedora 11, den kode-benævnt Leonidas, er planlagt til at være tilgængelig i slutningen af maj.
Red Hat er ved at slippe støtte til Intels itaniumprocessor i Enterprise Linux 6, den næste store udgave af operativsystemet, siger firmaet i en erklæring om søndagen. økonomisk sans for Red Hat, ifølge Chris Ingle, forskningsdirektør for IDC's European Systems Group. Antallet af Itanium-baserede servere, der sælges, er sandsynligvis ikke høj nok til, at Red Hat kan retfærdiggøre at bruge sine ressourcer på at understøtte en version af Enterprise Linux til denne processor. I stedet vil det fokus
Red Hat tilbyder i dag support til version 5 på systemer baseret på IBM Power, System z og S / 390 processorarkitekturer.
Sådan nulstilles NTFS-filtilladelser i Windows 10/8/7
Nulstil NTFS-filtilladelser er et freeware, der lader dig nemt genoprette eller nulstil fil- og sikkerhedsrettigheder i Windows 10/8/7 uden at bruge kommandolinje.