Chmod
| software chmod | |
|---|---|
| Žánr | Utility |
| Vývojář | AT&T Bell Laboratories |
| Datum první verze | 3. listopadu 1971 |
| Operační systém | Multiplatformní |
| 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" nomeFilechmod "o=+rx" nomefilechmod "u=+rwx","go=-" nomefilechmod "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
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íkemg- vyberte třídu související se skupinouo- 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
- ^ Chmod ( utility) , na The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition . Získáno 2008-05-17 .
- ^ Oprávnění jsou viditelná výpisem takových objektů v rozšířeném formátu, například pomocí příkazuls -lh
- ^ 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 )