5.4 Lecke 1
Tanúsítvány: |
Linux Essentials |
---|---|
Verzió: |
1.6 |
Témakör: |
5 Biztonság és Fájlokkal Kapcsolatos Jogosultságok |
Fejezet: |
5.4 Speciális Mappák és Fájlok |
Lecke: |
1 of 1 |
Bevezetés
A Linuxban mindent fájlként kezelünk. Egyes fájlok azonban különleges bánásmódot kapnak: vagy tárolási helyük miatt, mint például az ideiglenes fájlok, vagy a fájlrendszerrel való interakció miatt, mint például a linkek. Ebben a leckében megtanuljuk, hol vannak ezek a fájlok, hogyan működnek és hogyan menedzseljük őket.
Ideiglenes Fájlok
Az ideiglenes fájlokat programok használják adattárolásra, ha csak egy rövid ideig van rá szükség. Ezek lehetnek futó folyamatok adatai, hibanaplók, automatikus mentések vázlatai, fájlkonvertálás során használt köztes fájlok, cache fájlok és így tovább.
Ideiglenes Fájlok Lokációja
A Filesystem Hierarchy Standard (FHS) 3.0-ás verziója meghatározza az ideiglenes fájlok standard lokációját Linux rendszereken. Minden lokációnak más a célja és a viselkedése, ezért javasolt, hogy a fejlesztők kövessék az FHS által meghatározott konvenciókat, amikor ideiglenes adatot írnak a lemezre.
/tmp
-
Az FHS alapján a programok nem feltételezhetik, hogy az ide írt fájlok megmaradnak a program különböző indításai között. Az ajánlás az, hogy ez a mappa ürüljön (minden fájl törlődjön) a rendszer indulásakor, de ez nem kötelező.
/var/tmp
-
Egy újabb hely ideiglenes fájloknak, de ez nem törlődhet a rendszerindításkor, azaz az itt tárolt fájlok általában megmaradnak az újraindítások között.
/run
-
Ez a mappa a futó folyamatok által használt futásidejű változó adatokat tartalmazza, például a processzazonosító fájlokat (
.pid
). Azok a programok, amelyeknek egynél több futásidejű fájlra van szükségük, alkönyvtárakat hozhatnak létre. Ez a lokáció mindenképp törlődik a rendszer indításakor. Ennek a könyvtárnak a célját egykor a/var/run
szolgálta és néhány rendszeren a/var/run
egy szimbolikus link a/run
-ra.
Jegyezzük meg, hogy semmi nem akadályozza meg a programokat, hogy máshol hozzanak létre ideiglenes fájlokat, de jó gyakorlat betartani az FHS által meghatározott konvenciókat.
Ideiglenes Fájlok Jogosultságai
Ha rendszerszintű ideiglenes mappák vannak egy többfelhasználós rendszeren, az kihívásokat jelent a hozzáférési jogosulságokkal kapcsolatban. Először talán azt gondoljuk, hogy ezeknek a mappáknak “mindenki által írhatónak” (world-writable) kell lenniük, azaz bármelyik felhasználó írhat vagy törölhet bennük adatot. Azonban ha ez igaz lenne, hogyan akadályoznánk meg, hogy egy felhasználó egy másik felhasználó fájljait törölje vagy módosítsa?
A megoldás a sticky bit nevű speciális jogosultság, amely mind mappákra, mind fájlokra érvényes. Biztonsági okokból azonban a Linux kernel ignorálja a sicky bitet, ha azt fájlokon alkalmazzák. Mappák esetén ez a speciális bit megakadályozza, hogy a felhasználók átnevezhessenek vagy töröljenek egy fájlt a mappából, kivéve, ha az a fájl az övék.
Az ls -l
kimeneténél a sticky bittel ellátott mappák esetén mindenki más jogosultságánál egy t
van az x
helyén. Nézzük meg például a /tmp
és a /var/tmp
mappa jogosultságait:
$ ls -ldh /tmp/ /var/tmp/ drwxrwxrwt 25 root root 4,0K Jun 7 18:52 /tmp/ drwxrwxrwt 16 root root 4,0K Jun 7 09:15 /var/tmp/
Ahogy láthatjuk, mindenki más jogosultságainál egy t
van az x
helyén, tehát mindkét mappán be van állítva a sticky bit.
A sticky bitet egy mappán a chmod
paranccsal állíthatjuk be a numerikus móddal, a négyszámjegyes jelölést alkalmazva, úgy, hogy 1
az első számjegy. Például:
$ chmod 1755 temp
Ez be fogja állítani a sticky bitet a temp
nevű mappára és a jogosultságok rwxr-xr-t
lesznek.
Szimbolikus mód használata esetén a t
paramétert kell használni. Tehát, +t
a sticky bit beállítása és -t
az eltávolítása. Például:
$ chmod +t temp
Linkek Értelmezése
Már említettük, hogy a Linux mindent fájlként kezel, de van egy speciális típusú fájl, amit linknek nevezünk, és Linux rendszereken kétféle link van:
- Szimbolikus link
-
Másnéven soft link, egy másik fájl útvonalára mutat. Ha eltávolítjuk a fájlt, amire a link mutat (másnéven cél), a link megmarad, de “nem működik tovább”, mivel a “semmire” mutat.
- Hard link
-
Gondoljuk a hard linkre úgy, mint az eredeti fájl második nevére. A hard linkek nem duplikátumok, hanem további bejegyzések a fájlrendszerben, amik a lemez ugyanazon helyére (inode) mutatnak.
Tip
|
Az inode olyan adatstruktúra amely egy objektum (például egy fájl vagy mappa) attribútumait tárolja a fájlrendszeren. Ezen attribútumok között szerepel a fájlnév, a jogosultságok, a tulajdonjog és az, hogy a lemez melyik blokkján vannak tárolva az objektumhoz tartozó adatok. Gondoljunk rá úgy, mint az index egy bejegyzésére, innen az “index node” név. |
Munka a Hard Linkekkel
Hard Linkek Létrehozása
A parancs, amivel hard linket hozhatunk létre Linuxban, az ln
. Az alapértelmezett szintaxis az alábbi:
$ ln TARGET LINK_NAME
A TARGET
-nek már léteznie kell, (erre a fájlra fog mutatni a link) és ha a cél nem az aktuális mappában van, vagy máshová akarjuk a linket létrehozni, meg kell adni a teljes útvonalát. A parancs
$ ln target.txt /home/carol/Documents/hardlink
létre fogja hozni a hardlink
fájlt a /home/carol/Documents/
mappában, ami az aktuális mappa target.txt
fájljára mutat.
Ha kihagyjuk az utolsó paramétert (LINK_NAME
), a cél nevével megegyező link jön létre az aktuális mappában.
Hard Linkek Menedzselése
A hard linkek olyan bejegyzések a fájlrendszerben, amelyek különböző néven, de ugyanarra az adatra mutatnak a lemezen. Az összes ilyen név egyenlő és egy fájlra mutathat. Ha megváltoztatjuk az egyik név tartalmát, az összes többi név tartalma, ami a fájlra mutat, megváltozik, mivel ezek a nevek pontosan ugyanarra az adatra mutatnak. Ha egy nevet eltávolítunk, a többi továbbra is működni fog.
Ez azért történik így, mert amikor “törlünk” egy fájlt, az adat valójában nem törlődik a lemezről. A rendszer egyszerűen csak törli a fájlrendszer táblájának azon bejegyzését, ami a lemezen található adat inode-jára mutat. Ha van egy második bejegyzés, ami ugyanarra az inode-ra mutat, még mindig meglesz az adat. Gondoljunk erre úgy, mint két útra, ami ugyanoda tart. Még ha le is zárjuk vagy átirányítjuk az egyik utat, elérhetjük a célunkat a másik úton.
Ezt az ls
-i
paraméterével ellenőrizhetjük. Nézzük az alábbi mappa tartalmát:
$ ls -li total 224 3806696 -r--r--r-- 2 carol carol 111702 Jun 7 10:13 hardlink 3806696 -r--r--r-- 2 carol carol 111702 Jun 7 10:13 target.txt
A jogosultságok előtt látható szám az inode szám. Láthatjuk, hogy mind a hardlink
, mind a target.txt
fájloknak ugyanaz a száma (3806696
)? Ez azért van, mert az egyik a másiknak a hard linkje.
De melyik az eredeti és melyik a link? Nem igazán tudjuk megmondani, mert gyakorlati szempontból ugyanazok.
Vegyük észre, hogy minden, fájlra mutató hard link növeli a fájl linkjeinek számát. Ez a szám az ls -l
kimenetében rögtön a jogosultságok után van. Alapértelmezés szerint minden fájl linkszáma 1
(a mappáké 2
), és ezt minden hard link eggyel növeli. Ez az oka, hogy a fájlok linkszáma 2
a fenti példában.
A szimbolikus linkekkel ellentétben hard linkeket csak fájlok esetén hozhatunk létre és a link és a cél is ugyanabban a fájlrendszerben kell hogy legyen.
Hard Linkek Áthelyezése és Eltávolítása
Mivel a hard linkeket úgy kezeljük, mint az átlagos fájlokat, az rm
paranccsal törölhetők és az mv
paranccsal átnevezhetők vagy áthelyezhetők a fájlrendszeren. Mivel a hard linkek ugyanarra az inode-ra mutatnak, szabadon mozgathatók anélkül, hogy a link “törésétől” kellene félnünk.
Szimbolikus Linkek
Szimbolikus Linkek Létrehozása
A szimbolikus linkek létrehozására szolgáló parancs szintén ln
, de a -s
paraméterrel. Így:
$ ln -s target.txt /home/carol/Documents/softlink
Ez létrehoz egy softlink
nevű fájlt a /home/carol/Documents/
mappában, ami az aktuális mappában lévő target.txt
fájlra mutat.
Ahogy a hard linkek esetén, kihagyhatjuk a link nevét, ha az aktuális mappában hozunk létre linket a cél nevével.
Szimbolikus Linkek Menedzselése
A szimbolikus linkek a fájlrendszer egy másik útvonalára mutatnak. Létrehozhatunk soft linkeket fájlokra és mappákra, még különböző partíciókon is. Az ls
kimenetén egyszerű kiszúrni a szimbolikus linkeket:
$ ls -lh total 112K -rw-r--r-- 1 carol carol 110K Jun 7 10:13 target.txt lrwxrwxrwx 1 carol carol 12 Jun 7 10:14 softlink -> target.txt
A fenti példában láthatjuk, hogy a softlink
fájl jogosultságainál az első karakter l
, jelezve a szimbolikus linket. Közvetlenül a fájlnév után láthatjuk azt a fájlnevet is, amire a link mutat, jelen esetben ez a target.txt
.
Ne feledjük, hogy a fájlok és mappák listáján a soft linkek mindig megmutatják a rwx
felhasználók, a csoportok és mindenki más jogosultságait, de a gyakorlatban ezek a jogosultságok ugyanazok, mint a célfájl esetén.
Szimbolikus Linkek Áthelyezése és Eltávolítása
Akárcsak a hard linkek, a szimbolikus linkek is eltávolíthatók az rm
paranccsal és áthelyezhetők vagy átnevezhetők az mv
paranccsal. Nagyon óvatosnak kell lennünk a létrehozáskor, hogy elkerüljük a link “törését”, ha elmozdítjuk az eredeti helyéről.
Szimbolikus linkek létrehozásakor tisztában kell lennünk azzal, hogy hacsak nincs megadva az útvonal, a cél helye relatív a link helyéhez képest. Ez problémát okozhat, ha a link vagy a fájl, amire mutat, áthelyezésre kerül.
Ezt könnyebb megérteni egy példán keresztül. Mondjuk, hogy van egy original.txt
nevű fájl az aktuális mappában és egy softlink
nevű szimbolikus linket akarunk hozzá kreálni. Használhatjuk az alábbi parancsot:
$ ln -s original.txt softlink
Mindennek rendben kell lennie, de azért ellenőrizzük az ls
paranccsal:
$ ls -lh total 112K -r--r--r-- 1 carol carol 110K Jun 7 10:13 original.txt lrwxrwxrwx 1 carol carol 12 Jun 7 19:23 softlink -> original.txt
Nézzük, hogyan épül fel a link: a softlink
mutat (→
) az original.txt
fájlra. Nézzük meg, mi történik, ha a linket áthelyezzük a szülőmappába és megpróbáljuk kiíratni a tartalmát a less
paranccsal:
$ mv softlink ../ $ less ../softlink ../softlink: No such file or directory
Mivel nem határoztuk meg az original.txt
elérési útját, a rendszer azt feltételezi, hogy ugyanabban a mappában van, mint a link. Amikor ez már nem igaz, a link nem működik tovább.
Ezt úgy előzhetjük meg, ha mindig megadjuk a cél teljes útvonalát a link létrehozásakor:
$ ln -s /home/carol/Documents/original.txt softlink
Így nem számít, hova helyezzük át, a link mindig működni fog, mivel a cél abszolút helyére mutat. Ellenőrizhetjük az ls
paranccsal:
$ ls -lh total 112K lrwxrwxrwx 1 carol carol 40 Jun 7 19:34 softlink -> /home/carol/Documents/original.txt
Gyakorló Feladatok
-
Képzeljük el, hogy egy programnak létre kell hoznia egy egyszer használatos ideiglenes fájlt, amire soha nem lesz szükség a program bezárása után! Melyik mappában kell létrehozni ezt a fájlt?
-
Melyik az az ideiglenes mappa, amit muszáj kiüríteni a boot során?
-
Melyik paraméterrel állíthatjuk be a sticky bitet egy mappán a
chmod
parancs szimbolikus módjában? -
Képzeljük el, hogy van egy
document.txt
fájl a/home/carol/Documents
mappában. Melyik paranccsal hozhatunk létre egytext.txt
nevű szimbolikus linket az aktuális mappában? -
Mi a különbség a hard link és a fájl másolata között?
Gondolkodtató Feladatok
-
Képzeljük el, hogy egy mappában létrehozunk egy
recipes.txt
nevű fájlt! A mappában létrehozunk egy erre a fájlra mutató,receitas.txt
nevű hard linket és egy erre mutatórezepte.txt
nevű szimbolikus (vagy soft) linket.$ touch recipes.txt $ ln recipes.txt receitas.txt $ ln -s recipes.txt rezepte.txt
A mappa tartalma így kell hogy kinézzen:
$ ls -lhi total 160K 5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 receitas.txt 5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 recipes.txt 5388837 lrwxrwxrwx 1 carol carol 12 jun 24 10:12 rezepte.txt -> receitas.txt
Ne feledjük, a
receitas.txt
nevű hard link ugyanarra az inode-ra mutat, mint arecipes.txt
. Mi történik arezepte.txt
nevű soft linkkel, ha areceitas.txt
törlés kerül? Miért? -
Képzeljük el, hogy van egy flash meghajtó a rendszerhez csatlakoztatva és a
/media/youruser/FlashA
útvonalra mountolva. Létre akarunk hozni a home mappánkban egyschematics.pdf
nevű linket, ami aesquema.pdf
fájlra mutat a flash meghajtó gyökerében. Írjuk be a parancsot:$ ln /media/youruser/FlashA/esquema.pdf ~/schematics.pdf
Mi fog történni? Miért?
-
Vegyük az alábbi
ls -lah
kimenetét:$ ls -lah total 3,1M drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 . drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 .. -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip -rw-r--r-- 4 carol carol 77K jun 17 17:25 document.txt -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png -rw-r--r-- 4 carol carol 77K jun 17 17:25 text.txt
-
Hány link mutat a
document.txt
fájlra? -
Ezek soft vagy hard linkek?
-
Melyik paramétert kell átadnunk az
ls
parancsnak, hogy lássuk, melyik inode-ot foglalják el az egyes fájlok?
-
-
Képzeljük el, hogy a
~/Documents
mappánkban van egyclients.txt
nevű fájl, ami néhány ügyfél nevét tartalmazza és egysomedir
nevű mappa. Ebben van egy másik fájl, szinténclients.txt
néven, teljesen más nevekkel. A struktúra létrehozásához használjuk az alábbi parancsokat!$ cd ~/Documents $ echo "John, Michael, Bob" > clients.txt $ mkdir somedir $ echo "Bill, Luke, Karl" > somedir/clients.txt
Ezután hozzunk létre egy linket a
somedir
mappában,partners.txt
néven, ami erre a fájlra mutat, ezekkel a parancsokkal:$ cd somedir/ $ ln -s clients.txt partners.txt
A mappastruktúra tehát:
Documents |-- clients.txt `-- somedir |-- clients.txt `-- partners.txt -> clients.txt
Most helyezzük át a
partners.txt
fájlt asomedir
mappából a~/Documents
mappába és listázzuk a tartalmát!$ cd ~/Documents/ $ mv somedir/partners.txt . $ less partners.txt
Fog működni a link? Ha igen, melyik fájl tartalmát fogja kilistázni? Miért?
-
Vegyük az alábbi fájlokat:
-rw-r--r-- 1 carol carol 19 Jun 24 11:12 clients.txt lrwxrwxrwx 1 carol carol 11 Jun 24 11:13 partners.txt -> clients.txt
Mik a
partners.txt
hozzáférési jogosultságai? Miért?
Összefoglalás
Ebben a leckében megtanultuk:
-
Hol vannak tárolva az ideiglenes fájlok.
-
Milyen speciális jogosultság tartozik hozzájuk.
-
Mik azok a linkek.
-
A különbség a szimbolikus és a hard linkek között.
-
Hogyan hozzunk létre linkeket.
-
Hogyan helyezzük át, nevezzük át vagy töröljük őket.
A leckében az alábbi parancsokról beszéltünk:
-
ln
-
Az
ls
-i
paramétere
Válaszok a Gyakorló Feladatokra
-
Képzeljük el, hogy egy programnak létre kell hoznia egy egyszer használatos ideiglenes fájlt, amire soha nem lesz szükség a program bezárása után! Melyik mappában kell létrehozni ezt a fájlt?
Mivel nem kell foglalkoznunk a fájllal a program futása után, a helyes mappa a
/tmp
. -
Melyik az az ideiglenes mappa, amit muszáj kiüríteni a boot során?
A mappa a
/run
vagy néhány rendszer esetében/var/run
. -
Melyik paraméterrel állíthatjuk be a sticky bitet egy mappán a
chmod
parancs szimbolikus módjában?A sticky bit jele szimbolikus módban a
t
. Mivel engedélyezni (hozzáadni) akarjuk ezt a jogosultságot a mappához, a paraméter+t
lesz. -
Képzeljük el, hogy van egy
document.txt
fájl a/home/carol/Documents
mappában. Melyik paranccsal hozhatunk létre egytext.txt
nevű szimbolikus linket az aktuális mappában?Az
ln -s
paranccsal hozhatunk létre szimbolikus linket. Mivel meg kell adnunk a fájl teljes elérési útját, a parancs:$ ln -s /home/carol/Documents/document.txt text.txt
-
Mi a különbség a hard link és a fájl másolata között?
A hard link végülis csak a fájl egy másik néven. Annak ellenére, hogy az eredeti fájl másolatának tűnik, a hivatkozás és az eredeti minden szempontból ugyanaz és ugyanazokra az adatokra mutatnak a lemezen. Ha megváltoztatjuk a link tartalmát, megváltozik az eredeti is és vice-versa. A másolat egy teljesen független entitás, ami külön helyet foglal el a lemezen. A másolaton történő változtatások nincsenek hatással az eredetire és vice-versa.
Válaszok a Gondolkodtató Feladatokra
-
Képzeljük el, hogy egy mappában létrehozunk egy
recipes.txt
nevű fájlt! A mappában létrehozunk egy erre a fájlra mutató,receitas.txt
nevű hard linket és egy erre mutatórezepte.txt
nevű szimbolikus (vagy soft) linket.$ touch recipes.txt $ ln recipes.txt receitas.txt $ ln -s recipes.txt rezepte.txt
A mappa tartalma így kell, hogy kinézzen:
$ ls -lhi total 160K 5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 receitas.txt 5388833 -rw-r--r-- 4 carol carol 77K jun 17 17:25 recipes.txt 5388837 lrwxrwxrwx 1 carol carol 12 jun 24 10:12 rezepte.txt -> recipes.txt
Ne feledjük, a
receitas.txt
nevű hard link ugyanarra az inode-ra mutat, mint arecipes.txt
. Mi történik arezepte.txt
nevű soft linkkel, ha areceitas.txt
törlés kerül? Miért?A
rezepte.txt
soft link nem működik tovább. Ez azért van, mert a soft linkek nevekre mutatnak, nem az inode-okra és areceitas.txt
név már nem létezik, még ha az adat a lemezen létezik isrecipes.txt
néven. -
Képzeljük el, hogy van egy flash meghajtó a rendszerhez csatlakoztatva és a
/media/youruser/FlashA
útvonalra mountolva. Létre akarunk hozni a home mappánkban egyschematics.pdf
nevű linket, ami aesquema.pdf
fájlra mutat a flash meghajtó gyökerében. Írjuk be a parancsot:$ ln /media/youruser/FlashA/esquema.pdf ~/schematics.pdf
Mi fog történni? Miért?
A parancs nem fog működni. A hibaüzenet
Invalid cross-device link
lesz, az ok egyértelmű: a hard linkek nem mutathatnak egy másik partíción vagy eszközön lévő célpontra. Az ilyen link létrehozásának egyetlen módja a szimbolikus vagy soft link, hozzáadva az-s
paramétert azln
parancshoz. -
Vegyük az alábbi
ls -lah
kimenetét:$ ls -lah total 3,1M drwxr-xr-x 2 carol carol 4,0K jun 17 17:27 . drwxr-xr-x 5 carol carol 4,0K jun 17 17:29 .. -rw-rw-r-- 1 carol carol 2,8M jun 17 15:45 compressed.zip -rw-r--r-- 4 carol carol 77K jun 17 17:25 document.txt -rw-rw-r-- 1 carol carol 216K jun 17 17:25 image.png -rw-r--r-- 4 carol carol 77K jun 17 17:25 text.txt
-
Hány link mutat a
document.txt
fájlra?Minden fájl alapértelmezés szerinti linkszáma
1
. Mivel a linkszám a fájlnál4
, három link mutat a fájlra. -
Ezek soft vagy hard linkek?
Hard linkek, mivel a soft linkek nem növelik a fájl linkszámait.
-
Melyik paramétert kell átadnunk az
ls
parancsnak, hogy lássuk, melyik inode-ot foglalják el az egyes fájlok?A paraméter
-i
. Az inode azls
kimenetének első oszlopában lesz, például:$ ls -lahi total 3,1M 5388773 drwxr-xr-x 2 rigues rigues 4,0K jun 17 17:27 . 5245554 drwxr-xr-x 5 rigues rigues 4,0K jun 17 17:29 .. 5388840 -rw-rw-r-- 1 rigues rigues 2,8M jun 17 15:45 compressed.zip 5388833 -rw-r--r-- 4 rigues rigues 77K jun 17 17:25 document.txt 5388837 -rw-rw-r-- 1 rigues rigues 216K jun 17 17:25 image.png 5388833 -rw-r--r-- 4 rigues rigues 77K jun 17 17:25 text.txt
-
-
Képzeljük el, hogy a
~/Documents
mappánkban van egyclients.txt
nevű fájl, ami néhány ügyfél nevét tartalmazza és egysomedir
nevű mappa. Ebben van egy másik fájl, szinténclients.txt
néven, teljesen más nevekkel. A struktúra létrehozásához használjuk az alábbi parancsokat!$ cd ~/Documents $ echo "John, Michael, Bob" > clients.txt $ mkdir somedir $ echo "Bill, Luke, Karl" > somedir/clients.txt
Ezután hozzunk létre egy linket a
somedir
mappában,partners.txt
néven, ami erre a fájlra mutat, ezekkel a parancsokkal:$ cd somedir/ $ ln -s clients.txt partners.txt
A mappastruktúra tehát:
Documents |-- clients.txt `-- somedir |-- clients.txt `-- partners.txt -> clients.txt
Most helyezzük át a
partners.txt
fájlt asomedir
mappából a~/Documents
mappába és listázzuk a tartalmát!$ cd ~/Documents/ $ mv somedir/partners.txt . $ less partners.txt
Fog működni a link? Ha igen, melyik fájl tartalmát fogja kilistázni? Miért?
Ez “trükkös”, de a link működni fog és a kilistázott fájl a
~/Documents
mappán belüli, aJohn
,Michael
,Bob
neveket tartalmazó.Ne feledjük, hogy mivel a
partners.txt
soft link létrehozásakor nem adtuk meg aclients.txt
teljes elérési útját, a cél a link helyéhez képest relatív lesz, ami ebben az esetben az aktuális mappa.Miután a linket áthelyeztük a
~/Documents/somedir
mappából a~/Documents
mappába, nem kellene tovább működnie, mivel a cél nincs ugyanabban a mappában, mint a link. Mivel azonban van egyclients.txt
nevű fájl a~/Documents
mappában, a link a~/somedir
mappában található eredeti cél helyett erre fog mutatni.Ezt úgy kerülhetjük el, ha mindig megadjuk a teljes elérési útvonalat a célhoz, amikor szimbolikus linket hozunk létre.
-
Vegyük az alábbi fájlokat:
-rw-r--r-- 1 rigues rigues 19 Jun 24 11:12 clients.txt lrwxrwxrwx 1 rigues rigues 11 Jun 24 11:13 partners.txt -> clients.txt
Mik a
partners.txt
hozzáférési jogosultságai? Miért?A
partners.txt
fájl jogosultságairw-r—r--
, mivel a linkek mindig öröklik a cél jogosultságait.