Minden típusú hozzáférés megtagadva. Chown – a fájlok és mappák tulajdonjogának megváltoztatására szolgáló parancs linuxban A Chown test1 test2 a következőt teszi

  • Dátum: 14.05.2021

A Linux filozófiájának alapja, hogy az operációs rendszer minden objektuma fájl, hogy bizonyos rendszerfunkciókhoz hozzáférést biztosítsunk, egyszerűen hozzáférést biztosítunk a felhasználónak szükséges fájlokat vagy távolítsa el. A cikkben részletesebben beszéltem az összes jogról, de itt csak azt mondom, hogy minden fájlnak három jogcsoportja van: a tulajdonos, a csoport és mindenki más joga.

A fájl létrehozásakor az a felhasználó lesz a tulajdonos, akinek a nevében létrehozták, és a csoport a tulajdonos fő csoportja lesz. De a fájl és a csoport tulajdonosa megváltoztatható, ehhez a chown és a chgrp parancsok szolgálnak. Ez a cikk a chown linux paranccsal, valamint a használatára vonatkozó alapvető példákkal foglalkozik.

1. Szintaxis és opciók

Szintaxis chown, mint a többi hasonló linux parancsok Nagyon egyszerű:

$ chown beállítás user /path/to/file

A felhasználó mezőben meg kell adni azt a felhasználót, akinek át akarjuk vinni a fájlt. Megadhat kettősponttal elválasztott csoportot is, például felhasználói csoport. Ekkor nem csak a felhasználó fog megváltozni, hanem a csoport is. Íme a főbb lehetőségek, amelyekre szüksége lehet:

  • -c, --változások- az összes végrehajtott változtatás részletes kimenete;
  • -f, --néma, --csendes- minimális információ, hibaüzenetek elrejtése;
  • --hivatkozás- módosítsa annak a fájlnak az engedélyeit, amelyhez a szimbolikus hivatkozás vezet a hivatkozás helyett (alapértelmezett viselkedés);
  • -h, --no-dereference- módosítsa a szimbolikus hivatkozások jogait, és ne érintse meg a fájlokat, amelyekhez azok vezetnek;
  • --tól től- csak azokhoz a fájlokhoz módosítsa a felhasználót, amelyek tulajdonosa a megadott felhasználó és csoport;
  • -R, --rekurzív- az összes alkönyvtár rekurzív feldolgozása;
  • -H- ha egy könyvtárra mutató szimbolikus hivatkozást adnak át, navigáljon oda;
  • -L- kövesse az összes szimbolikus hivatkozást a könyvtárakra;
  • -P- ne kövesse a könyvtárakra mutató szimbolikus hivatkozásokat (alapértelmezés szerint).

A segédprogramnak van még néhány opciója, de ezek a legalapvetőbbek, és a legtöbbre nincs szüksége. Most lássuk, hogyan kell használni a chown-t.

2. A chown használata

Például több dir mappánk van, és a tulajdonosuk Sergiy felhasználó:

Változtassuk meg a dir1 mappa tulajdonosát root-ra:

chown gyökér ./dir1

Ha egy könyvtár vagy fájl tulajdonosát és csoportját egyszerre szeretné megváltoztatni, írja le kettősponttal, például módosítsa a dir2 könyvtár felhasználóját és csoportját root-ra:

chown gyökér:gyökér ./dir2

Ha azt szeretné, hogy a módosítások ne csak erre a könyvtárra vonatkozzanak, hanem az összes alkönyvtárára, adja hozzá az -R kapcsolót:

chown -R root:root ./dir3

chown --from=root:root www-data:www-data -cR ./

Az alapító és a webhely adminisztrátora, nyitott szoftverés operációs rendszer Linux. Jelenleg az Ubuntut használom fő operációs rendszerként. A Linuxon kívül minden érdekel, ami az információtechnológiával és a modern tudományokkal kapcsolatos.

Ebből az oktatóanyagból megtudhatja, hogyan módosíthatja a Linux/Unix engedélyeket, és hogyan állíthat be egy fájl/mappa új tulajdonosát parancs sor. 2 van alapvető parancsokat amelyek a következő célokra használhatók: chmodés chown.

Mielőtt elkezdené ezt az útmutatót, a következőkre lesz szüksége:

  • Parancssori hozzáférés

1. lépés – A Linux engedélyeinek módosítása a parancssoron keresztül

chmod- Ez a parancs egy fájl vagy mappa engedélyeinek módosítására szolgál. Minden fájlnak vannak felhasználói típusai, amelyek interakcióba léphetnek vele:

Csapat ls-l, az engedélyek és a tulajdonos megjelenítésére használható. Például a parancs ls -l fájl1.txt jelenik meg:

  • "-rwxr-rw-"- mutatja a sor ezen része hozzáférési jogok. Van 4 fő betű, amire figyelned kell: r,w,x,d. d azt jelenti, hogy a fájltípus egy könyvtár. Példánkban nincs ilyen betű (ez lenne az első a sorban), itt a „-“ karakter van (ami alapvetően „nem”). Levél x engedélyt jelent teljesítmény fájl vagy mappa (ez az engedély szükséges bejárat mappába). Levél w engedélyt jelent egy fájl vagy mappa írására (szerkesztés, törlés stb.) És végül az utolsó betű r, ami azt jelenti olvasás. Ha rendelkezik olvasási jogosultsággal a fájlon, akkor elolvashatja a fájl tartalmát, de más műveleteket nem fog tudni végrehajtani (például elolvashatja a szkript kódját, de nem tudja végrehajtani ).
  • 1 a kemény linkek száma. Egyszerűen fogalmazva, a merev hivatkozás egy meglévő fájl további neve.
  • felhasználói felhasználó- Ez az érték mutatja a fájl tulajdonosát és csoportját.
  • 0 - Ez az érték a fájl méretét jelzi.
  • január 19. 12:59- Megjeleníti az utolsó módosítás dátumát.
  • fájl1.txt- Megadja a fájl vagy mappa nevét.

Oké, térjünk vissza a csapathoz chmod. Ezzel a paranccsal módosíthatjuk egy fájl vagy mappa engedélyeit. Megtanítjuk, hogyan kell ezt egyszerűen hozzáadni számok. Mindegyik hozzáférési jognak megvan a maga szoba:

  • r(olvasás) - 4
  • w(rekord) - 2
  • x(végrehajtás) - 1

Például, ha meg akarjuk változtatni egy fájl jogosultságait fájl1.txt azokon:

A következő parancsot kell írnunk :

Chmod 746 fájl1.txt

Ebben a parancsban minden szám az egyikhez tartozó jogokat jelenti felhasználói típusok(tulajdonos, csoport és mások). Az első szám a 7. Most a fenti számértékek magyarázatával csak úgy kaphatjuk meg a 7-et, ha a 4-es, 2-es és 1-es számokat összeadjuk, így 4+2+1=7-et kapunk. Egyszerűen fogalmazva ez azt jelenti MINDEN hozzáférési jogok (olvasás, írás, végrehajtás - rwx). Az első szám határozza meg a jogosultságokat tulajdonos fájlt. A második 4-es szám, amely az engedélyeket -r (olvasás) jelenti, beállítja az engedélyeket tulajdonosi csoport. A harmadik 6-os szám ugyanazzal a módszerrel, mint az első számnál, 4+2=6 adja a csoportot Egyéb, jogok olvasás(4) és rekord(2) fájlokat. A csapat harmadik része fájl1.txt) annak a fájlnak a neve, amelynek az engedélyeit módosítjuk.

Még egy példa:

Chmod 777 file2.txt

ez a parancs minden felhasználótípushoz megad minden jogot ( tulajdonos, csoportés Egyéb).

Itt található a leggyakoribb fájlengedélyek listája:

Jelentése Numerikus érték Magyarázat
-rw--- 600 A tulajdonos olvashatja és írhatja a fájlt.
-rw-r-r- 644 A tulajdonos olvashatja és írhatja a fájlt, a csoport és mások csak olvasni.
-rw-rw-rw- 666 A tulajdonos, a csoport és mások olvashatnak és írhatnak.
-rwx-- 700 A tulajdonos olvashat, írhat és végrehajthat, a csoportnak és másoknak nincs hozzáférési joga.
-rwx–x–x 711 A tulajdonos olvashat, írhat és végrehajthat, a csoport és mások csak végrehajthatják.
-rwxr-xr-x 755 A tulajdonos olvashat, írhat és végrehajthat, a csoport és mások olvashatnak és végrehajthatnak.
-rwxrwxrwx 777 Minden típusú felhasználó tud olvasni, írni és végrehajtani.

A címtárak leggyakoribb engedélyei a következők:

Vannak más módok is az engedélyek módosítására Linuxban a parancs használatával chmod. De személyes ajánlásunk a tanulás lenne egy ezeknek a parancsoknak és annak használatának (jelen esetben a számokkal rendelkező metódusnak). Ha többet szeretne megtudni az engedélyek módosításának egyéb módjairól, akkor erről olvashat.

2. lépés – Változtassa meg a fájl vagy mappa tulajdonjogát a parancssoron keresztül

chown– a parancs egy fájl vagy mappa tulajdonosának megváltoztatására szolgál. A parancs legszokványosabb szintaxisa a következő:

Chown [tulajdonos/tulajdonos csoport] [fájlnév]

Például ha van egy fájlunk " demo.txt" és tulajdonost akarunk cserélni a következőre Jerry" és a tulajdonosi csoport a " ügyfelek”, erre a parancsra van szükségünk:

Chown jerry:kliensek demo.txt

Amint láthatja, a tulajdonos és a tulajdonosi csoportot a „ szimbólummal választottuk el. : " (kettőspont). Ha csak a fájl tulajdonosát akarjuk megváltoztatni, akkor ezt a kódot használjuk:

Chown Jerry demo.txt

Egyszerűen eltávolítottuk a tulajdonosi csoportot, és hozzáadtunk egy új fájltulajdonost, ebben az esetben a tulajdonosi csoport változatlan marad.

Egy másik hasonló példa, ha csak a tulajdonosi csoportot szeretnénk megváltoztatni:

Chown:kliensek demo.txt

Ebben az esetben a tulajdonosi csoport a következőre változik ügyfelek(a tulajdonos ugyanaz marad).

3. lépés – További opciók használata a chmod és chown parancsokkal

Az egyik fő opció, amely mindkét paranccsal működik, az -R, ami rekurzív. Ezzel az opcióval módosíthatja egy fájl, egy adott mappa és egy adott mappa engedélyeit és tulajdonjogát MINDEN a benne lévő többi fájl.

FONTOS! Legyen nagyon óvatos ezzel az opcióval, ha nem megfelelően használja, módosíthatja a jogosultságokat és a tulajdonost MINDEN fájlokat a rendszeren, ami működési hibákhoz vezet, és rengeteg időt vesz igénybe a változtatások visszaállításával.

A "chmod" és a "chown" egyéb lehetőségei:

  • „-f” – néma vagy erő választási lehetőség. Ez az opció elrejti a legtöbb hibaüzenetet.
  • "-v" – diagnosztikát végez a parancs által érintett minden egyes fájlnál.
chown [-fhv] [-R [-H | -L | -P]] tulajdonos [:csoport ] fájlt... chown [-fhv] [-R [-H | -L | -P]] : csoport fájl... A program megváltoztatja egy fájl vagy könyvtár tulajdonosát és/vagy csoportját, azaz. Felhasználói azonosítóés Csoportazonosító számára megadott fájl. Ha az opció nincs megadva -h, az argumentumként átadott szimbolikus hivatkozások nem változnak

A következő opciók állnak rendelkezésre: -H Ha az opció be van állítva -R, kövesse a linkjeit parancs sor. (A címtárfa bejárása közben talált hivatkozások nem követhetők) -L Ha az opció -R telepítve, kövesse az összes szimbolikus hivatkozást. -P Ha opció -R telepítve, ne kövesse a hivatkozásokat. Alapértelmezett viselkedés. -R Rekurzió. változás Felhasználói azonosítóés/vagy Csoportazonosító a könyvtárak és fájlok teljes fájára a megadotttól kezdve. A ".*" minta használatakor ügyeljen arra, hogy a kemény hivatkozást a ".." szülőkönyvtárhoz illessze. -f Ne jelentse a sikertelen tulajdonos- és csoportmódosítási kísérletet, és ne módosítsa a művelet kilépési kódját a hiba jelzésére. -h Ha a fájl szimbolikus hivatkozás, módosítsa Felhasználói azonosítóés/vagy Csoportazonosító csak magáért a linkért. -v Mód a program előrehaladásával kapcsolatos üzenetek megjelenítéséhez. Ha az opciót többször is megadja, chown kiírja a fájlnevet a régi és az új után UserID/GroupID. Opciók -H, -Lés -P, figyelmen kívül hagyja, ha a lehetőséget -R nem telepített. Ráadásul ezek az opciók felülírják egymást és a parancs viselkedését chown, az utoljára megadott opció határozza meg. Opciók tulajdonosés csoport nem kötelezőek, de ezek közül legalább egyet meg kell adni. Ha csak meg van adva csoport, előtte a jel : (kettőspont). Paraméter tulajdonos fájl numerikus UserID kifejezésként és szimbolikus névként is ábrázolható. Ha a felhasználónév megegyezik a felhasználói azonosítójával, az operandus „felhasználónévként” kerül felhasználásra. Ugyanez vonatkozik a paraméterre is csoport. A fájl tulajdonjogát biztonsági okokból csak a szuperfelhasználó változtathatja meg. Program chown 0-t ad vissza a siker és >0 hiba esetén. LÁSD MÉG chgrp(1), find(1), chown(2), fts(3), symlink(7)

A Linuxban minden fájl vagy mappa saját engedélyekkel rendelkezik.

A jogoknak 3 típusa van:
olvasás (r), írás (w), végrehajtás (x)

A jogok 3 típusú felhasználóra vonatkoznak:
tulajdonos(u), csoport(g), összes többi(o)

Tehát minden fájl joga 9 bit információ (3 féle jog * 3 féle felhasználó), illetve minden bit beállítható (=1) a hozzáférés engedélyezett, vagy reset (=0) a hozzáférés megtagadva.

A jogok kiosztásánál az oktális számrendszert szokás használni.

A jogok szöveges ábrázolása (10 karakter):
- rwxr - - r - -
0123456789

Karakter a 0 pozícióban:
"-" - normál fájl, "d" - mappa, "l" - hivatkozás

Karakterek az 1-3. pozícióban:
"rwx" - tulajdonosi jogok

Karakterek a 4-6 pozícióban:
"r - -" - engedélyek a csoporthoz

Karakterek a 7-9. pozícióban:
"r - -" - jogok mindenki másnak

Táblázat a jogok meghatározásához:

Amint az a táblázatból látható, a jogok könnyen kiszámíthatók
egyszerű összegzés. 1=végrehajtás, 2=írás, 4=olvasás.
például végrehajtást (1) és (4) kiolvasást igényel, 1 + 4 = 5-öt kapunk

644. példa:
- a tulajdonos(ok) olvasnak és írnak
- csoport(g) csak olvasható
- mások(o) csak olvasható

755. példa:
- tulajdonos(ok) minden joga
- csoport(g) olvassa el és hajtsa végre
- egyéb(o) olvasás és végrehajtás

Olyan programozási nyelvekben, mint a C,
Minden szám elejére 0 kerül a jogokhoz, ami azt jelenti, hogy a szám oktális, azaz. Írjon 0644-et 644 helyett. Ha parancssorból módosítja az engedélyeket, erre általában nincs szükség.

Négyjegyű jogok nézete (4755), további jogok
SUID, SGID, ragadós bitek:

  • SUID vagy setuid: módosítsa a "Felhasználói azonosítót" futás közben
  • SGID vagy setgid: a "Csoportazonosító" módosítása futás közben
  • ragadós bit: Letiltja a törlést minden felhasználó számára, kivéve a tulajdonost. Korábban a bit azt jelentette, hogy "megőrizni" a memóriában a folyamat befejezése után.
Asztal. A további jogok számszerű ábrázolása:

További bitek szöveges megjelenítése:
A további biteket a következő szimbólumok jelölik:
"S", "s" - SUID, SGID
"T", "t" - ragadós bit
ezeknek a biteknek a pozíciója megegyezik az "x" végrehajtási jogok pozícióival (3,6,9)
ha azonban nincs végrehajtási jog, akkor "nagybetűt" használnak, pl. nagy karakterek. Ha végrehajtási engedélyek vannak beállítva, akkor "kisbetűket" használnak, pl. kis karakterek.

példák:

SUID készlet:
- r w s - - - - - - SUID bitek beállítása és végrehajtása a tulajdonos számára
- r - S - - - - - - SUID bit beállítva, végrehajtási bit nincs beállítva

Telepített SGID:
- r w x r w s - - - SGID bitek beállítása és futtatása csoporthoz
- r w x r - S - - - SGID bit beállítva, nincs beállítva kivégzés a csoport számára

A ragadós bit be van állítva:
- r w x r w x r w t ragadós bitek beállítása és végrehajtása mások számára
- r w x r w x r - T ragadós bit be van állítva, de nincs beállítva. másokért tesz

különbségek a jogok hatásában, ha fájlokra és mappákra telepítik:

jogokatfájlokatmappákat
olvasás tartalom olvasásfájllista beszerzése
rekord tartalom rögzítésea fájlok listájának módosítása
(létrehozás, törlés, átnevezés)
teljesítményfájl végrehajthatófelhasználó vagy folyamat, a mappát "aktuális/működőképessé" teheti
SUID Állítsa be a "Felhasználói azonosítót" végrehajtáskor Felhasználói azonosító felülírása fájl/mappa létrehozásakor (használja a gyökérmappa tulajdonosi azonosítóját)
SGID Állítsa be a "Csoportazonosítót" végrehajtáskor Csoportazonosító felülírása fájl/mappa létrehozásakor (használja a gyökérmappa csoportazonosítóját)
ragadós megakadályozza, hogy a tulajdonoson kívül mindenki törölje

parancs módosítása jobb chmod:
chmod [-R] fájl/mappa engedélyek

A "-R" rekurzív engedélyeket alkalmaz minden fájlra és almappára

Példák:
chmod -R 755 mappa/
chmod 644 fájl
stb.

Lehetőség van a jogosultságok teljes megváltoztatására, csak bizonyos felhasználói csoportok jogainak hozzáadására vagy visszavonására
szimbólumok használata oktális számok helyett.
"u" - felhasználó/tulajdonos
"g" - felhasználói csoport
"o" - más felhasználók
"a" - minden felhasználói csoport

Engedélyformátum [[+-=], ...

Példák:
chmod -R a+x mappa/ minden csoport rekurzív végrehajtása
A chmod a+rx fájl mindenki számára olvasható és végrehajtható
chmod u+rx,g-rx fájl hozzáadása olvasás és végrehajtás a tulajdonos számára, és
visszavonja a csoport engedélyeit
chmod a+r,o= fájl hozzáadása olvasás minden csoporttípushoz és visszavonás
minden jog az összes többi felhasználó számára

chown tulajdonosváltási parancs:

Chown [-R] tulajdonos: csoportfájl/mappa

Példák:
chown -R 0:0 mappa/ tulajdonos/csoport=root beállítása rekurzívan
chown myuser:mygroup fájl állítsa be a myuser/mygroup-ot egy fájlra

Továbbra is részletesen elmondjuk a Linux felhasználóiról és csoportjairól, ma pedig a chown és chmod parancsok használatáról fogunk beszélni.

CHOWN

Chown - angolból change own. És így, mint tudod, a Linuxnak vannak felhasználói és csoportjai. Minden felhasználónak saját fájlja van létrehozva vagy feltöltve. Minden felhasználó a saját csoportjába tartozik, és más felhasználókkal kombinálható más csoportokba.

Ha meg szeretné tudni, ki a fájl tulajdonosa, és melyik csoportba tartozik, használja a következő parancsot:

Ha módosítani szeretné vagy módosítani szeretné a fájl tulajdonosát (felhasználóját), akkor a parancs segít:

sudo chown felhasználónév text.txt

V ezt a példát a text.txt fájlt a username felhasználóhoz rendeltük.

Ha csak a csoportot szeretné megváltoztatni, használhatja a chgrp parancsot:

Sudo chgrp groupName text.txt

Annak érdekében, hogy ne írjon be 2 különböző parancsot, tegye ezt:

sudo chown userName:groupName text.txt

Először a fájl tulajdonosa jelenik meg, majd a csoport után:

sudo-chownTulajdonos neve : csoport név text.txt

Ha módosítania kell a tulajdonost és a csoportot a könyvtárban, és sok fájl és mappa van, használja a -R kapcsolót:

sudo chown -R felhasználónév:csoportnév /var/www/site/

CHMOD

És így tudjuk, hogy vannak felhasználók, csoportok. Most beszéljünk a hozzáférési jogokról. Miért van erre szükség? Például van egy könyvtára, amely személyes fájlokat tartalmaz. Neked tulajdonos például szerkeszthet, megtekinthet fájlokat, csoport , csak az adatokat, fájlokat és pihenés azok a felhasználók, akik egyik csoportban sem szerepelnek és nem tulajdonosok, egyáltalán nem tehettek semmit, ezért van szükség hozzáférési jogokra.

A fájlengedélyek számokkal és betűkkel jelölhetők:

A jogok számokban kifejezett értékei összegezve:

  • teljes jog (rwx) 7 = 4 + 2 +1
  • olvasni és írni (rw-) 6 = 4 + 2 + 0
  • olvasás és végrehajtás (r-x) 5 = 4 + 0 + 1
  • csak olvasni 4 (r—) = 4 + 0 + 0
  • csak rögzíteni 2 (-w-) = 0 + 2 + 0
  • nincs joga (-) 0 = 0 + 0 + 0

Minden fájlhoz és könyvtárhoz külön-külön vannak hozzárendelve a jogosultságok a tulajdonos, a csoport és a többi felhasználó számára.

Tulajdonos Csoport Pihenés
u g o
engedély levelek engedélyek számjegyei
rwxrwxrwx 777 olvasni, írni, mindent megtenni
rwxr-xr-x 755 olvasni, írni, végrehajtani olvass és fuss
rw-r-r- 644 Olvass és írj csak még
r——— 400 csak a tulajdonos olvassa

A chmod paranccsal a fájl vagy könyvtár engedélyeit számokkal vagy betűkkel módosíthatja.

Hozzáférési jogok hozzárendelése számokban

Egy fájl vagy könyvtár engedélyeinek megváltoztatásához a chmod paranccsal számok használatával írja be a következő parancsot:

Sudo chmod 755 text.txt

Könyvtárak esetén hozzá kell adni az -R kapcsolót a chmod után.

Csak lent hasznos parancs hogyan lehet jelentős mértékben módosítani az engedélyeket az összes mappában és almappában.

Mappákhoz:

megtalálja / az Ön_útvonala -type d -exec chmod 755 () \;

Fájlokhoz:

megtalálja / az Ön_útvonala -type f -exec chmod 644 () \;

Hozzáférési jogok hozzárendelése betűkkel

Kezdők számára a hozzáférési jogok betűkkel történő megváltoztatása kissé nehezebb lesz, de ez a tudás jól jön.

Mint tudja, hogy van tulajdonos, csoport, más felhasználók, ezek a következők:

u felhasználó Tulajdonos
g csoport