close

Chmod

Přejít na navigaci Přejít na hledání
software chmod
Příklad snímku obrazovky
ŽánrUtility
VývojářAT&T Bell Laboratories
Datum první verze3. listopadu 1971
Operační systémMultiplatformní
Licence( bezplatná licence )

chmod (zkratka z anglického jazyka ch ange mod e , change mode ) je příkaz operačních systémů Unix a Unixu podobných a obecněji systémů POSIX [1] , který se používá k úpravě přístupových oprávnění k souborům . a adresář [2] . Používá se také ke změně některých příznaků, které identifikují speciální režimy, jako je setuid , setgid a sticky bit . Vyvolání chmod k uspokojení požadavku na změnu oprávnění je ovlivněno filtrem použitým umask .

chmod je také jméno systémového volání definovaného standardem POSIX [3] , které mění oprávnění souboru nebo adresáře. Ve skutečnosti příkaz chmod funguje tak, že vyvolá stejnojmenné systémové volání. Příkaz se poprvé objevil v první unixové verzi AT&T a je přítomen v operačních systémech Unix a Unixu podobných .

Syntaxe

Obecná syntaxe chmod je následující:

chmod [opzioni] [--] modalità file1 [file2 ...]

Parametr mode označuje změny, které mají být aplikovány na oprávnění.

Dvojitá pomlčka --(volitelné) znamená, že následující parametry nelze považovat za možnosti.

Některé možnosti obvykle implementované jsou:

  • -RRekurzivní, to znamená, že zahrnuje objekty z podadresářů.
  • -vpodrobné, zobrazuje změny provedené na objektech (neupravené objekty se nezobrazují).

Symbolické odkazy

Symbolické odkazy nikdy nemají vlastní oprávnění, jsou to pouze jmenovité odkazy na jiný soubor a pro všechny záměry a účely lze mít za to, že mají oprávnění souboru nebo adresáře, na který odkazují.

V některých systémech je možné dát možnosti pro rekurzivní změnu oprávnění také pomocí symbolických odkazů (např. v případě systémů odvozených od BSD , jako je FreeBSD , OpenBSD a NetBSD a dokonce i macOS ).

Příklady

Symbolické znázornění

  • chmod "u=rwx","g=rx","o=x" nomeFile
  • chmod "o=+rx" nomefile
  • chmod "u=+rwx","go=-" nomefile
  • chmod "u=+rwS","go=-" nomefile

Pro význam Sviz také další unixová oprávnění .

Osmičková reprezentace

V osmičkovém zobrazení každá číslice označuje oprávnění pro různé uživatele.

  • chmod UGO nomefile

Číslice U představuje úroveň oprávnění pro uživatele, G úroveň oprávnění skupiny a O úroveň obecných oprávnění

V následující tabulce je uveden význam jednotlivých hodnot

Binární hodnota ( rwx) Desetinná hodnota Povolení
111 7 čtení, psaní a provádění
110 6 čtení a psaní
101 5 čtení a provádění
100 4 pouze ke čtení
011 3 psaní a provádění
010 2 pouze psaní
001 1 pouze provedení
000 0 nikdo

Příklady:

  • chmod 734 nomefile

přiděluje uživateli všechna oprávnění, zápis a spouštění pro skupinu a pouze pro čtení pro všechny ostatní.

  • chmod 777 nomefile

přiděluje všechna oprávnění aktuálnímu uživateli, jeho skupině a všem ostatním.

  • chmod -R 777 nomedirectory

jako předchozí, ale týká se adresáře a všech souborů, které v něm existují.

Režim

Image
Příklady použití chmod

Režim je řetězec, který označuje, jak nastavit nebo změnit oprávnění zadaných souborů a adresářů. Může být vyjádřen jako osmičkové číslo nebo v symbolické formě.

Režim osmičkového čísla

Je to číslo skládající se z jedné až čtyř osmičkových číslic (např . 640nebo 4755), podle osmičkového znázornění oprávnění , které přímo označuje oprávnění, která mají být přiřazena souboru, aniž by se brala v úvahu ta, která již existují.

Například povolení 755 nastavuje čtení, zápis a spouštění (7) pro vlastníka (první číslice) a čtení a spouštění (dvě 5) na skupinu (druhá číslice) a ostatní (třetí číslice).

Symbolický režim

Je to řada jedné nebo více textových hodnot oddělených čárkami.

Každá hodnota se zase skládá ze tří částí:

  • první část skládající se z nula nebo více písmen, která vybírají třídy (vlastník, skupina, ostatní), pro které chcete změnit oprávnění:
    • u- vyberte třídu související s vlastníkem
    • g- vyberte třídu související se skupinou
    • o- vyberte třídu související s ostatními uživateli
    • žádné písmeno o a- vybere všechny třídy
  • druhá část skládající se z jediného znaku, který označuje, zda mají být přidána, odebrána nebo nastavena oprávnění pro vybrané třídy:
    • +- přidat specifikovaná oprávnění k vybraným třídám; neodebere již udělená, ale nespecifikovaná oprávnění
    • =- nastavit oprávnění specifikovaná ve vybraných třídách; odebere všechna již udělená, ale nespecifikovaná oprávnění
    • -- odebere zadaná oprávnění z vybraných tříd
  • třetí část obsahující nula nebo více písmen (např.,,,, ) rpodle symbolického znázornění oprávnění , wkterá označují oprávnění, která mají být přidána , odebrána nebo nastavena.xst

Příklady režimů vyjádřených symbolicky jsou " ugo=rwx", " u=rwx,go=r", " +x".

Příklady režimů

  • 0755- nastavit čtení, zápis a spouštění pro vlastníka a čtení a spouštění podle skupiny a dalších (společné pro adresáře a spustitelné soubory);
  • 0700- nastavit čtení, zápis a spouštění pro vlastníka, žádná oprávnění pro skupinu a další (běžné pro soukromé adresáře);
  • 0600- nastavit čtení a zápis pro vlastníka a žádná oprávnění pro skupinu a ostatní (běžné pro soubory osobních údajů);
  • 0640- nastavit čtení a zápis pro vlastníka, pouze čtení pro skupinu a žádné oprávnění pro ostatní (běžné pro sdílení datových souborů);
  • +r- přidává oprávnění ke čtení pro vlastníka, skupinu a další. Neodstraňuje jiná již existující oprávnění;
  • -x- odebere oprávnění k provedení vlastníkovi, skupině a dalším. Neodstraňuje jiná již existující oprávnění;
  • u=rx- nastavit oprávnění ke čtení a spouštění na vlastníka a odebrat všechna již existující oprávnění k zápisu; nemění oprávnění pro ostatní;
  • u=rx,go=- nastavit oprávnění ke čtení a spouštění na vlastníka a odstranit všechna existující oprávnění k zápisu; odebere všechna existující oprávnění pro skupinu a pro ostatní.

Systémové volání chmod

Systémové volání chmod je deklarováno v hlavičkovém souboru sys/stat.h :

#include <sys / stat.h> 
int chmod ( const char * cesta , režim_t režim );     

Typ mode_t je neprůhledný typ (obvykle celočíselný typ) představující přístupová oprávnění .

Parametr path udává název souboru nebo adresáře pro změnu oprávnění.

Parametr mode udává oprávnění, která mají být souboru nebo adresáři přiřazena.

Návratová hodnota

Návratová hodnota je 0v případě úspěchu. V případě chyby je to -1a proměnná errnooznačuje konkrétní chybu.

Poznámky

  1. ^ Chmod ( utility) , na The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition . Získáno 2008-05-17 .
  2. ^ Oprávnění jsou viditelná výpisem takových objektů v rozšířeném formátu, například pomocí příkazuls -lh
  3. ^ Chmod ( funkce ) , na The Open Group Base Specifications, vydání 6 IEEE Std 1003.1, 2004 Edition . Staženo 30. května 2008 .

Související položky

  • Oprávnění (Unix) – Popis oprávnění přiřaditelných souborům a adresářům
  • chown - Unixový příkaz pro změnu vlastníka souboru nebo adresáře
  • umask - Navrhuje odepřít oprávnění.
  • chgrp - Unixový příkaz pro změnu skupiny přiřazené k souboru nebo adresáři
  • Identifikátor uživatele – Identifikátor uživatele
  • Identifikátor skupiny - Identifikátor skupiny

Externí odkazy

Příkaz chmod

  • ( EN ) chmod: Změňte přístupová oprávnění v příručce GNU Coreutils . Získáno 2007-05-17 .
  • ( EN ) chmod , na Linux Man Pages . Získáno 22. 5. 2008 .
  • ( EN ) chmod (1) , na Solaris 10 Reference Manual Collection - manuálové stránky . Získáno 22. května 2008 (z originálu archivováno 4. května 2008) .
  • ( EN ) chmod , na Manuálových stránkách FreeBSD . Získáno 22. 5. 2008 .
  • ( EN ) chmod , na manuálových stránkách Mac OS X . Získáno 22. 5. 2008 . Podporuje také seznamy řízení přístupu .
  • ( EN ) CHMOD-Win společnosti NeoSmart (bezplatná aplikace, která převádí příkazy chmod na nastavení, která mohou interpretovat systémy Windows )