The UNIX and Linux Forums  
Hello and Welcome-tól az Egyesült Államokat, hogy az UNIX és Linux Forums? Köszönjük, hogy meglátogatta és csatlakozik Globális Közösség.

Go Back   A UNIX és Linux Forums > Top Fórumok > A UNIX a dummies Kérdések és válaszok > Válaszok a gyakori kérdésekre > Tippek és oktatóanyagok
.
google unix.com



Tippek és oktatóanyagok Hasznos cikkek a felhasználóink számára.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Annak érdekében, hogy a "unzip" permissions & "létrehozására" file permissions Mike1234 HP-UX 3 03-02-2008 05:34 PM
Unix permissions mobershaw SUN Solaris 0 01-24-2006 06:06 PM
UNIX File Permissions jerardfjay A UNIX a fejlett és szakértői Felhasználók 3 03-15-2005 12:25 PM
Unix permissions moukoko A UNIX a dummies Kérdések és válaszok 2 03-11-2004 08:12 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Értékelés: Thread Rating: 6 votes, 4.83 average. Megjelenítési módok
  #1 (permalink)  
Old 05-28-2005
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Helyszín: Ashburn, Virginia
Hozzászólások: 9.111
Unix File Permissions

Bemutatkozás

Láttam néhány téves információval kapcsolatban Unix file permissions. Megpróbálom a dolgokat. Vess egy pillantást néhány példa kimenete ls:
Kód:
$ ls -ld /usr/bin /usr/bin/cat
drwxrwxr-x   3 root     bin         8704 Sep 23  2004 /usr/bin
-r-xr-xr-x   1 bin      bin         9388 Jul 16  1997 /usr/bin/cat
$
Az első sorban, hogy "root" azt mondja, hogy a könyvtár tulajdonában van a felhasználó neve "root". És hogy a "bin" a csoport a könyvtárban. Meg kell érteni a felhasználók és csoportok, és én azt feltételezi, hogy te. Célom, hogy elmagyarázza, hogy "drwxrwxr-x" és "-r-xr-xr-x" cucc. Ez a mező kombinációja a fájltípus és a hozzáférési jogosultságot. Együttesen ez az információ is szokták nevezni fájlmód. És néha ennek a neve permissions. Egy jó kiindulópont lehet, ha a figyelembe egy gyors pillantást, hogy ez az információ valóban lemezen tárolt. Így van tárolva érint számos olyan döntést, hogy a történtek az évek során.

Hogy a "File Mode" tárolják.

A lemezen, információ a fájl a szerkezet nevezzük "inode". Minden fájl lesz, hogy saját inode. Egy adatelem egy inode az úgynevezett "üzemmód", és így néz ki:
Kód:
 |------file mode------|
 |                     |
 |
 |       |----full-----|
         |
 |-type| |   |--basic--|
 |     | |   |         |
 oo0 000 000 000 000 000
 ... ... ... ... ... ...
    |     |   |   |   |
    |     |   |   |   |---- rwx for other
    |     |   |   |
    |     |   |   |-------- rwx for group
    |     |   |
    |     |   |------------ rwx for user
    |     |
    |     |---------------- set uid, set gid, sticky bit
    |
    |---------------------- file type: regular (-)
                                       directory (d)
                                       character special (c)
                                       block special (b)
                                       fifo (p)
                                       symbolic link (l)
                                       socket (s)
Úgy gondolom, hogy a "mód" valójában azt jelenti, csak a jogosultságokat és hogy a fájl típust tolta be a helyet takaríthat meg. De a szerző az ls program kezelése módban egyetlen napirendi pont. Ez az, amiért a fájltípust az első karakter az engedélyt string az "ls-l" kimenet. A fájltípus általában az egyik féle, amit mutat fent. Egyes verziói Unix majd adjunk hozzá egy kevés több. Az egyetlen másik dolog, hogy a nyilatkozat az adatok elrendezés az, hogy nincs hely, hogy adjunk több engedélyt bit.

Képviselő jogosultsága oktális

A ls programmal megjelenhet, mondjuk, "rwxrwxrwx" az engedélyeket egy fájlt. Az is nagyon gyakori, hogy használjon egy oktális szám kifejezni engedélyeket egy fájlt. És amint látod fent, ez hogyan tárolja. Lehet hallani valaki mondani, hogy néhány már 777 engedélyeket. Ez ugyanaz, mint "rwxrwxrwx", és sokkal könnyebb kiejteni. Tehát tudnod kell, hogyan kell átalakítani őket. Három bináris számjegy vagy bit felel meg, egy oktális számjegy:

Kód:
  421
  rwx
Tehát a "read kicsit érdemes 4, az írási kicsit érdemes végrehajtani, és a 2 darab érdemes 1. Te csak adj e fel kap egy oktális számjegyet. So"-rwxrwxrwx "a 777. És"-rwxr-x -- - "750. Ha még mindig nem látom, hogyan lehet eljutni" rx "az 5, talán ez a táblázat segít:

Kód:
--- = 0
--x = 1
-w- = 2
-wx = 3
r-- = 4
r-x = 5
rw- = 6
rwx = 7
Megjegyzés: 4 oktális számjeggyel kell kifejezni az összes engedély bit. Az első három bit különleges és gyakran nulla. És te majdnem mindig tanulnak a záró 9 bit először. Vannak, akik meg ennyivel, és soha nem tanulnak az első három bit. De vannak 12 bites engedélyt, nem csak 9. Igaz, most hadd vessen egy pillantást a záró 9 bit.

A Basic Permission Bits

We have 3 háromágyas: az egyik hármas a felhasználó számára, egy tripla a csoport számára, és egy tripla más. Néha a "felhasználó" nevezik a tulajdonos. És néha az "egyéb" az úgynevezett "Világ". Fogom használni "user" és "egyéb", mert a chmod parancs a levelek, és ug o utalni ezeket háromágyas.

Melyik Set of Bits érvényes Önre?

Unix ha úgy dönt, hogy mit tehetünk, hogy nem használja fel a 9 bit. Unix csákány az első hármas, hogy Önre is vonatkozik. Fontold meg:
Kód:
----rwxrwx   1 joe        users           29 Mar 22 19:39 somefile
Annak ellenére, hogy joe birtokolja ezt a fájlt, akkor nem fér hozzá. (Mivel joe birtokolja a fájlt, tudta adni magát hozzáférést. Bővebben később.) Gyökér is egyedi. gyökér nyújtják minden rwx rw könyvtárakat és az összes fájlt. Egy fájlt, ha az x 3 bit van beállítva, root végre engedélyt. Ez a különleges engedély gyakran tiltva a hálózati csatlakoztatott fájlrendszerek.

Mit rw és x igazán jelent egy fájlt?

Egy fájlt, "szövegrész helyébe" és "write" meglehetősen magától értetődő. Az x az "execute" azt jelenti, hogy a kernel számára talán próbálja meg a fájlt. Az adott munkát, a fájlt kell egy futtatható (output egy fordítóprogram) vagy a szkript egy "#!" első sorban. Egy könyvtár, a dolgok egy kicsit bonyolultabb. Egy könyvtárat, "write" engedély azt jelenti, hogy a felhasználók hozhatnak létre új fájlokat a könyvtárban, vagy távolítsa el a régi fájlokat. Néha meglepetéseket az embereknek, hogy el lehet távolítani egy fájlt, amely nem tud olvasni. A Unix rm parancs, hogy a teszt és a figyelmeztetés kiadása, de lehet, hogy elnyomja a figyelmeztető-f. És riasztó, vagy nem, ha el akarja távolítani az olvashatatlan fájlt egy írható könyvtárban, előfordulhat. És rmdir nem zavar, hogy ellenőrizze egyáltalán.

Mit rw és x igazán értem a könyvtár?

A könyvtár egy fájlt is, és "szövegrész helyébe" engedély azt jelenti, hogy olvassa el. De tényleg nem tudom nagyon x engedélye nélkül is. A könyvtárat, akkor általában mindkét olvasási és végrehajtási engedélyt vagy sem. Egy könyvtárat, hogy az x hivatalosan is az úgynevezett "keresési engedély". Be kell x használni a könyvtár elérési útvonalát. Tehát, ha megpróbál "cat / etc / passwd", szüksége lesz az X-et / és / etc Szükség van továbbá a X-CD-t a könyvtárba. Tegyük fel, hogy elolvasta, de nem tudok keresni (x) az engedélyt a könyvtár. Mit tehet? Nem sokat. Használhatja a "ls", hogy a fájl neveket. Még a "ls-l" nem fog működni. Olvasd el engedély nélkül hozzáférjenek a keresés nem túl hasznos. Ez még mindig jobb, mint ha csak az írási joga könyvtár ... ez teljesen használhatatlan. Nem láttam más okmányok, hogy az államok ezt explicit módon, tehát hadd ismételjem meg: write de nem hajt végre az engedélyt a könyvtár ad semmit all.Suppose Önnek keresés (x) engedélye, de nem olvassa el az engedélyt a könyvtárba. Most már meg tudja nyitni a fájlokat a könyvtárban, ha tudja véletlenül, a fájl nevét. Ön a CD-t a könyvtárba. És ez az. Nem tud még hozzon létre egy új fájlt. Hozzáadása írási jog lehetővé teszi, hogy hozzon létre fájlokat. És tudod majd törölje a fájlokat, ha tudja véletlenül a nevüket.

Szimbolikus linkek Különleges

Engedélyt beállításokat egy szimbolikus link egy kicsit különleges is. Ők teljesen figyelmen kívül hagyja. Sok változata Unix nincs módja megváltoztatni.

A setuid és a setgid Bits

Nézd meg ezt:
Kód:
$ ls -l /etc/passwd /etc/shadow /usr/bin/passwd
-r--r--r--   1 root     sys        14006 Jan 14 11:17 /etc/passwd
-r--------   1 root     sys         8281 Jan 14 11:18 /etc/shadow
-r-sr-sr-x   3 root     sys        96244 Sep  5  2001 /usr/bin/passwd
A passwd fájl írható csak a root (Ne feledje, a root egyedi. Meg tud írni egy fájlt, amely nem rendelkezik írási jogosultsággal set). Az árnyék fájl, ahonnan jelszavakat tárolják, még csak nem is olvashatják hétköznapi felhasználók számára. De Joe meg akarja változtatni a jelszavát. Meg tudja csinálni, hogy a futás / usr / bin / passwd. Közlemény az rs engedélyeket. A passwd program a suid és sgid bit. Ez a fordulat az x-ek be's. In oktális lenne 6.555. A passwd program tulajdonosa a root. Joe futtatja, akkor nem fut "Joe". Ehelyett úgy fut, mint tulajdonos, ami root. Így a passwd program megváltoztathatja Joe jelszót neki. Az sgid kicsit hasonlóan működik, kivéve okoz a passwd program futtatásához a csoport sys helyett Joe's csoport. A suid és sgid nem kap a saját helyzetét a ls. Amikor a suid bit be van állítva, ls kijelzőket, ahelyett, ax a tulajdonos végre engedélyt. Mi van, ha a SUID bit be van állítva, de a tulajdonos végre kicsit ki van kapcsolva? ls megjelenít egy nagybetűvel az ügyben. Az sgid bit jelenik meg hasonló módon, kivéve, hogy kölcsönhatásba lép a csoport végre engedélyt. (A set uid koncepció találta Dennis Ritchie által volt is a fejlődő Unix.)

, Hogy fejlődjön a dolgok egy kicsit, míg Joe fut a suid-to-root passwd program, "Joe" az igazi uid és a "root" a tényleges uid. A passwd program képes megszerezni mindkét id, ha akar. Így a passwd program tudja, hogy a változás csak joe joe jelszavát.

A sticky bit

A POSIX szabvány azt mondja, hogy ha a ragadós bit be van állítva a könyvtár, egyszerű írási joga a könyvtár már nem elég ahhoz, hogy a fájlokat el kell távolítani. Meg kell továbbá maga a fájl vagy a saját könyvtárban. root továbbra is lehet törölni, minden olyan könyvtár, függetlenül jogosultságot. Korábban ez a darab szolgált más célra. Egyes OS's továbbra sem. Én majd kidolgozza függelékében alább. A sticky bit hatással van az "egyéb" execute bitet a ls megjelenít. Kivéve azt, hogy használ t és a T helyett s és S. Például:
Kód:
drwxrwxrwt   5 root       root          1024 Feb 11 20:43 /tmp
Abban, hogy a / tmp könyvtárban a fent bárki hozhat létre új fájlokat. Hanem azért, mert a ragadós bit, egy felhasználó nem tud törölni egy másik felhasználó fájljait.

Korlátozása File jogosítványokat umask

Ha a fájlok jönnek létre a program, amely létrehozza adhatja meg az engedélyt a kezdeti beállítást. Felülírható, hogy az umask. Az umask halmaza tiltó bitet. Van egy umask parancs segítségével megtekintheti és módosíthatja a umask. Például a "umask 022" tiltja csoport írási és más írni az újonnan létrehozott fájlok. , Vagy "umask 027" tiltja csoport írni és azt tiltja más olvasási, írási, vagy végrehajtani. Meg tudod csinálni a "umask 0"-hoz enged a program, amit akar, mert teremt programokat. De te nem mehet tovább. Nem tudod kényszeríteni a program viszont egy kicsit tovább. Umask beállítás hatással van a fájlok, könyvtárak, named pipe (más néven fifos), és speciális fájlok. Meg lehet, hogy nem érinti a szimbolikus linkeket. Ez is hatással van a test formáját közötti kommunikációs folyamat, de ez meghaladja a jelen cikk kereteit. És hiszed vagy nem, named aljzatok mentesülnek umask. Ez a mentesség követelmény vele POSIX.

Változó fájl jogosítványokat chmod

Csak a tulajdonos egy fájl vagy a root képes megváltoztatni a jogosultságokat egy fájl. Ez a művelet ne érintett egyáltalán az umask beállítás. Ha módosítja a jogosultságokat egy szimbolikus linket, a link lesz követni, és meg fogja változtatni a cél fájlt. Elképzelhető, hogy csak a root lesz joga, hogy hozzanak egy fájl sticky bit. Példaként "chmod 700 valamifajl" wil hagyja, hogy a tulajdonos olvasási, írási és végrehajtási a fájlt, míg minden hozzáférést letiltanak minden más felhasználók számára.

Szimbolikus mód használatával chmod és umask

POSIX bevezetett egy új szintaxisa a chmod parancs. Az elképzelés az volt, hogy az új szintaxist majd helyettesíti az oktális állandó a chmod paranccsal. A konstans oktális még megengedett, és azt hiszem, hogy itt maradni. De az új szimbolikus szintaxis lehetővé teszi, hogy módosítsa a pár bitet nem tudja, mi a többiek. Például, mondjuk, hogy én akarom, hogy a fájlt mások által hozzáférhető, de én nem, mit kell megváltoztatni a acess a felhasználó vagy a csoport. Azt kellene csinálni:
az ls-l file
Nézd meg fájlt és kitaláljuk, az aktuális beállításokat.
a chmod 750 file
Meg kellett határozni, hogy az első két számjegy áramlatok 7 és 5 előtt tudtam kihozni magamból chmod parancs. Az új szintaxis, egyszerűen nem tudom:
a chmod o \u003d file
kikapcsolni az utolsó 3 bit. Újabb példa a "chmod u + x file" lehetővé teszi a felhasználónak, hogy kivégez a fájlt. Másrészről, ez a két parancs ekvivalens:
a chmod 750 file
a chmod u \u003d rwx, g \u003d rx, o \u003d file
és én inkább az első szintaxisa.

A szimbolikus mód lehet egy vesszővel elválasztott listája előírásoknak. Minden specifikáció három részből áll: <who> <operation> <bitlist>
Kód:
The who part can be:
u  (user)
g  (group)
o  (other)
a  (all)
   (whatever is allowed by umask (subset of all))

The operator can be  = or - or +
= (set bits to bitlist)
- (subtract bitlist from current bit
+ (add bitllist to current bits)

The bitlist can be one of the following letters:
r (read permission)
w (write permission)
x (execute permision)
X (conditional execute permision)
u (current permissions for user)
g (current permissions for group)
o (current permissions for others)
s (set uid or set gid)
t (sticky bit)
Az X ugyanaz, mint x, kivéve, ha a fájl egy nondirectory, és jelenleg nincs x bit. Az s (set uid és gid set) csak meg a felhasználó vagy csoport engedélyeit. A t csak meg a felhasználói jogosultságokat. Néhány példa segítségével. Fentiekben láttuk / usr / bin / passwd-ben 6555 (-r-sr-sr-x ls). Itt van néhány módszert, amit elérhetett volna:
a chmod 6555 / usr / bin / passwd fájlba
chmod u \u003d RXS, g \u003d RXS, o \u003d rx / usr / bin / passwd
a chmod ug \u003d RXS, o \u003d rx / usr / bin / passwd
chmod a \u003d rx, ug + s / usr / bin / passwd
És sok más módon lehet megtenni.

Az esetek többségében chmod immunis umask-ban, hogy bármilyen biteket akarja beállítani nem kapnak által módosított umask. Szerint azonban az egyik feltétel, a chmod parancs meg fogja vizsgálni a jelenlegi beállítás umask meghatározni, hogy melyik bit szeretne beállítani. Ez akkor történik, ha elhagyják a "ki" mezőt. Valahogy így:
a chmod \u003d w valamifajl
A különbség az "a \u003d w" és "\u003d w" túl kicsi. Itt egy példa, hogy segíthet. A legtöbb program próbál létrehozni a fájlt a 666 (-rw-rw-rw-) postázását. De ez lesz módosítva az umask. Tegyük fel, hogy szeretnénk beállítani egy fájlt, de 666 módosíthatja a jelenlegi umask-ut. Tudnánk kapcsolja ki az összes bitet, majd kapcsolja be írni és olvasni, bitek megengedettek a jelenlegi umask:

chmod a \u003d, \u003d rw valamifajl

És beszélt umask, használd szimbolikus érvek a umask paranccsal is. Mindazonáltal, POSIX, Saját bölcsesség, úgy döntött, hogy ebben az esetben a logika lenne fordítani. Tehát, ha használni umask egy oktális érv nem adja meg a bitek, hogy tilos. De ha használni umask szimbolikus érvelés, akkor adja meg, hogy a biteket. Tehát azok egyenértékűek:
umask 022
umask u \u003d rwx, go \u003d rx

Összefoglaló

Ezen a ponton van elég információ, hogy leginkább megérteni azokat a 12 bit engedélyt. Van néhány nagyon speciális esetekben, hogy én is figyelmen kívül hagyják vagy glossed át. Külön álláshely alábbi fogok ezekkel. Az itt található információk utáni első nagyjából univerzális. Egy POSIX kompatibilis operációs rendszer támogatnia kell ezt a dolgot. , Hogy szinte minden Unix változata jelent meg az elmúlt 10 évben. A következő cikkeket megvitatni, hogy a funkciók nem lehet általános.
 

Könyvjelzõk

Címkék
chmod, file permissions, Linux parancsok, sticky bit, suid, umask

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 03:36 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0