Bestandsrechten

Bestandsrechten zijn het belangrijkste onderdeel van een unix systeem waarbij wordt bepaald wie wat mag gaan doen. Daarna hebben we dan ook nog het domein waar die toebehoren nl. welke user bezit de files en tot welke groep behoort die user.

Lees rechten (r): Geeft u toestemming om een bestand/directory te lezen.

Schrijfrechten (w): Geeft u toestemming om een bestand/directory te schrijven of te verwijderen.

Toestemming tot uitvoeren (x): Geeft u toestemming om een bestand uit te voeren of om een map binnen te gaan.

De basismachtigingen worden weergegeven met een letter als ze zijn ingesteld, of met een streepje als ze niet zijn ingesteld.

Rechten zijn gespecificeerd op 3 verschillende niveaus (recht-groepen)

Gebruikers/eigenaar (u) Bevat de rechten voor het gebruikersaccount

Groeps (g) Bevat de rechten voor de gebruikersgroep

Anderen  (o) Bevat de rechten voor alle gebruikersaccounts die niet zijn opgenomen in (u) en (g).

Aangezien een waarde bevat voor elk van de 3 basisrechten (r,w,x), zijn er slechts 8 patronen mogelijk. Hierdoor kan een machtigingsgroep ook worden weergegeven door een enkel getal tussen 0 en 7. De numerieke weergave van de machtigingspatronen wordt geïmplementeerd door waarden toe te kennen aan de basisrechten (r=4, w=2, x=1) die moeten worden opgeteld om te resulteren in de numerieke weergave van de machtigingsgroep.

Een reeks kan worden weergegeven door 3 enkelvoudige weergaven van groepen die altijd worden gespecificeerd in de volgorde

gebruiker,groep,andere

-rwx—— is gelijk aan 700

-rwxr-x— is gelijk aan 750

-rwxr-xr-x is gelijk aan 755

-rwxrwxrwx is gelijk aan 777


CHMOD wie mag wat zien ?

chmod-opdracht wordt gebruikt om de toegangsrechten van bestanden en mappen te wijzigen. Het staat voor verandermodus. Het kan de toestemming van symbolische links niet wijzigen. Het negeert zelfs de symbolische koppelingen die recursieve directory-traversal tegenkomen.
Over het algemeen hebben chmod-commando’s de volgende vorm:

chmod opties machtigingen bestandsnaam
Als er geen opties zijn opgegeven, wijzigt chmod de permissies van het bestand gespecificeerd door bestandsnaam naar de permissies gespecificeerd door machtigingen.

permissies definieert de permissies voor de eigenaar van het bestand (de “gebruiker”), leden van de groep die eigenaar is van het bestand (de “groep”), en ieder ander (“anderen”). Er zijn twee manieren om deze machtigingen weer te geven: met symbolen (alfanumerieke tekens) of met octale getallen (de cijfers 0 tot en met 7).

Stel dat u de eigenaar bent van een bestand met de naam mijnbestand en dat u de machtigingen zo wilt instellen dat:

de gebruiker kan het lezen, schrijven en uitvoeren; leden van uw groep kunnen het lezen en uitvoeren; En
anderen mogen het alleen lezen.
Deze opdracht doet de truc:

chmod u=rwx,g=rx,o=r mijnbestand
=
chmod 754 mijnbestand
chmod -R 754 /home/user/files


In dit voorbeeld wordt de symbolische machtigingsnotatie gebruikt. De letters u, g en o staan voor “gebruiker”, “groep” en “andere”. Het gelijkteken (“=”) betekent “stel de machtigingen precies zo in”, en de letters “r”, “w” en “x” staan respectievelijk voor “lezen”, “schrijven” en “uitvoeren”. De komma’s scheiden de verschillende machtigingsklassen en er staan geen spaties tussen.

Hier is het equivalente commando met behulp van de notatie van octale machtigingen: chmod 754 mijnbestand

 Gebruik:  chmod [OPTIE...] MODUS[,MODUS...] BESTAND
     of:  chmod [OPTIE...] OCTALE_MODUS BESTAND...
     of:  chmod [OPTIE...] --reference=REFERENTIEBESTAND BESTAND...
De modus van elk gegeven BESTAND veranderen naar de gegeven MODUS,
of naar de modus van REFERENTIEBESTAND.

  -c, --changes            een melding geven voor elk veranderd bestand
  -f, --silent, --quiet    de meeste foutmeldingen onderdrukken
  -v, --verbose            een melding geven voor elk gezien bestand
      --no-preserve-root  '/' niet speciaal behandelen (standaard)
      --preserve-root     op '/' niet recursief werken
      --reference=RFBSTND  modus van RFBSTND gebruiken i.p.v. een MODUS-waarde
  -R, --recursive        bestanden en mappen recursief behandelen
      --help      deze hulptekst tonen en stoppen
      --version   programmaversie tonen en stoppen

Iedere MODUS is van de vorm '[ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+'.

Online hulp bij GNU coreutils: <https://www.gnu.org/software/coreutils/>
Meld vertalingsfouten aan <vertaling@vrijschrift.org>.
Volledige documentatie: <https://www.gnu.org/software/coreutils/chmod>
of lokaal via: info '(coreutils) chmod invocation'

CHOWN wie is de eigenaar en tot welke groep behoor je?

Voordat we ingaan op het gebruik van de chown-opdracht, laten we eerst de basissyntaxis bekijken.
De chown-opdrachtuitdrukkingen hebben de volgende vorm:
chown [OPTIONS] user[:group] file

USER is de gebruikersnaam of de gebruikers-ID (UID) van de nieuwe eigenaar. GROUP is de naam van de nieuwe groep of de groeps-ID (GID). FILE(s) is de naam van een of meer bestanden, mappen of links. Numerieke ID’s moeten worden voorafgegaan door het +-symbool.


GEBRUIKER – Als alleen de gebruiker is opgegeven, wordt de opgegeven gebruiker de eigenaar van de gegeven bestanden, het groepseigendom wordt niet gewijzigd.


GEBRUIKER: – Wanneer de gebruikersnaam wordt gevolgd door een dubbele punt :, en de groepsnaam niet wordt gegeven, wordt de gebruiker de eigenaar van de bestanden en wordt het eigendom van de bestandsgroep gewijzigd in de aanmeldingsgroep van de gebruiker.


GEBRUIKER:GROEP – Als zowel de gebruiker als de groep zijn gespecificeerd (zonder spatie ertussen), wordt het gebruikerseigendom van de bestanden gewijzigd in de gegeven gebruiker en het groepseigendom wordt gewijzigd in de gegeven groep.
:GROEP – Als de gebruiker wordt weggelaten en de groep wordt voorafgegaan door een dubbele punt :, wordt alleen het groepseigendom van de bestanden gewijzigd in de opgegeven groep.


: Als alleen een dubbele punt : wordt gegeven, zonder de gebruiker en de groep te specificeren, wordt er niets gewijzigd.

voorbeeld : Je hebt zojuist een hele map met bestanden, mijnfiles, van een andere computer overgebracht. Alle bestanden en mappen zijn eigendom van uw gebruikersnaam op het andere systeem en u wilt dat uw huidige gebruiker en groep ze allemaal bezitten.

Wijzig het eigendom van de map en de volledige inhoud ervan recursief met de optie -R:
sudo chown -R gebruiker:groep mijnfiles

sudo chown -R user:groep mijnfiles
Gebruik:  chown [OPTIE...] [EIGENAAR][:[GROEP]] BESTAND...
     of:  chown [OPTIE...] --reference=REFERENTIEBESTAND BESTAND...
De eigenaar en/of groep van elk gegeven BESTAND veranderen naar de gegeven
EIGENAAR en/of GROEP, of naar de eigenaar en groep van REFERENTIEBESTAND.

  -c, --changes            een melding geven voor elk veranderd bestand
  -f, --silent, --quiet    de meeste foutmeldingen onderdrukken
  -v, --verbose            een melding geven voor elk gezien bestand
      --dereference      niet de symbolische koppelingen bewerken maar
                           de bestanden waarnaar ze verwijzen (standaard)
  -h, --no-dereference   de symbolische koppelingen zelf bewerken in plaats
                           van de bestanden waarnaar ze verwijzen
                         (alleen nuttig op systemen waar de eigenaar van
                             een symbolische koppeling veranderd kan worden)
      --from=HUIDIGE_EIGENAAR:HUIDIGE_GROEP
                           eigenaar en/of groep van een bestand alleen wijzigen
                           als huidige eigenaar en groep overeenkomen met de
                           hier gegeven; één van de elementen mag weggelaten
                           worden, een overeenkomst daarmee is dan niet vereist
      --no-preserve-root  '/' niet speciaal behandelen (standaard)
      --preserve-root     op '/' niet recursief werken
      --reference=RFBSTND  de eigenaar en groep van RFBSTND gebruiken
  -R, --recursive        bestanden en mappen recursief behandelen

De volgende opties veranderen de wijze van doorlopen van de mappenhiërarchie
als optie '-R' gegeven is.  Bij meerdere van deze opties, geldt de laatste.

  -H      als een argument op de opdrachtregel een symbolische koppeling
          naar een map is, dan deze map doorlopen
  -L      elke symbolische koppeling naar een map volgen
  -P      symbolische koppelingen niet volgen (standaard)

      --help      deze hulptekst tonen en stoppen
      --version   programmaversie tonen en stoppen

Als EIGENAAR ontbreekt, blijft deze onveranderd.
Als GROEP ontbreekt, blijft deze onveranderd, tenzij met een ':'
na een symbolische EIGENAAR impliciet de inloggroep gegeven is.
Verder mogen EIGENAAR en GROEP zowel numeriek als symbolisch zijn.

Voorbeelden:
  chown root /w        Verandert de eigenaar van /w naar "root".
  chown root:team /w   Idem, maar verandert ook de groep naar "team".
  chown -hR root /w    Verandert de eigenaar van /w en subbestanden naar "root".

Online hulp bij GNU coreutils: <https://www.gnu.org/software/coreutils/>
Meld vertalingsfouten aan <vertaling@vrijschrift.org>.
Volledige documentatie: <https://www.gnu.org/software/coreutils/chown>
of lokaal via: info '(coreutils) chown invocation'

One thought on “Bestandsrechten

Een reactie achterlaten

Je e-mailadres zal niet getoond worden. Vereiste velden zijn gemarkeerd met *