Mitä GID oikeastaan tarkoittaa?

Olen hakenut sitä Googlessa, ja tämä on linux.about.com sanoi:

Ryhmän tunnistenumero prosessille. Kelvolliset ryhmänumerot annetaan /etc/group -kohdassa ja /etc/passwd -tiedoston GID-kentässä. Kun prosessi käynnistetään, sen GID asetetaan vanhemman prosessin GID: ksi.

  • Mutta mitä se tarkoittaa?

Kansioni oikeudet ovat tällä hetkellä osoitteessa 0755

Ymmärrän, jos asetan omistajalle UID: n, se on 4755

Ja jos asetan ryhmän GID: n, se on 2755

Jos Asetin Sticky Bit muille: se on 1755

  • Onko näiden oikeuksien asettaminen edes tärkeää?

vastaus

Jokaisella UNIX-tyyppisen järjestelmän prosessilla, kuten kaikilla tiedostoilla, on omistaja (käyttäjä, joko oikea tai järjestelmä ”pseudo -käyttäjä ”, kuten daemon, bin, man jne.) ja ryhmä omistaja. Käyttäjän tiedostojen ryhmän omistaja on tyypillisesti kyseisen käyttäjän ensisijainen ryhmä, ja samalla tavoin kaikki käynnistämäsi prosessit ovat yleensä käyttäjätunnuksesi ja ensisijaisen ryhmätunnuksesi omistamia.

Joskus , kuitenkin, tiettyjen komentojen suorittamiseen on oltava korkeammat oikeudet, mutta ei ole toivottavaa antaa täydellisiä järjestelmänvalvojan oikeuksia. Esimerkiksi passwd -komento tarvitsee pääsyn järjestelmän varjasalasanatiedostoon, jotta se voi päivittää salasanasi. Ilmeisesti et halua antaa jokaiselle käyttäjälle juurioikeuksia, vain jotta he voivat nollata salasanansa – se johtaisi epäilemättä kaaokseen! Sen sijaan on oltava toinen tapa myöntää käyttäjille tilapäisesti korkeammat oikeudet tiettyjen tehtävien suorittamiseen. Tätä varten SETUID- ja SETGID-bitit ovat. Se on tapa kertoa ytimelle nostaa käyttäjän käyttöoikeuksia väliaikaisesti merkityn komennon suorituksen ajaksi. SETUID-binaari suoritetaan suoritettavan tiedoston omistajan oikeuksilla (yleensä root), ja SETGID-binaari suoritetaan suoritettavan ryhmän omistajan ryhmäoikeuksilla tiedosto. passwd -komennon tapauksessa, joka kuuluu ryhmään root ja on SETUID, se antaa normaalikäyttäjille mahdollisuuden vaikuttaa suoraan salasanan sisältöön tiedosto hallitulla ja ennustettavalla tavalla suorittamalla pääkäyttäjän oikeuksilla. UNIX-tyyppisissä järjestelmissä on lukuisia muita SETUID -komentoja (chsh, screen, ping, su jne.), jotka kaikki edellyttävät korkeita käyttöoikeuksia toimiakseen oikein. On myös muutama SETGID -ohjelma, jossa ydin muuttaa väliaikaisesti prosessin GID: tä sallien pääsyn lokitiedostoihin jne. sendmail on tällainen apuohjelma.

sticky bit palvelee hieman erilaista tarkoitusta. Sen yleisin käyttö on varmistaa, että vain tiedoston luonut käyttäjätili voi poistaa sen. Ajattele hakemistoa /tmp. Sillä on hyvin liberaalit oikeudet, joiden avulla kuka tahansa voi luoda tiedostoja sinne. Tämä on hyvä ja antaa käyttäjien ”prosessien luoda väliaikaisia tiedostoja (screen, ssh jne., Pidä tilatiedot kohdassa /tmp). Käyttäjän temp-tiedostojen suojaamiseksi /tmp on asetettu tahmea bitti, joten vain minä voin poistaa tiedostoni ja vain sinä poista omasi. Tietysti, root voi tehdä mitä tahansa, mutta meidän on toivottava, että sysadmin ei ole väärässä!

Normaaleille tiedostoille (ts. Ei-suoritettaville tiedostoille) ei ole mitään järkeä asettaa SETUID / SETGID-bittejä. Joidenkin järjestelmien hakemistojen SETGID hallitsee ryhmän hakemistoon luotujen uusien tiedostojen oletusryhmän omistajaa.

Kommentit

  • Ah mahtava, kiitos Joten Sticky Bit on siis kuin henkilökohtainen (käyttäjän) lupa? Tämä vastaus oli hyvin muotoiltu ja ymmärrettävä.
  • Kiitos! Tahmea bitti suojaa vähän tiedostoja hakemistossa, jossa on liberaali Se ’ ei todellakaan ole tietyn käyttäjän erityinen, koska kaikille tiedostoille annetaan sama suojaustaso riippumatta siitä, kuka omistaja on. Se ’ sa tapa sallia kenenkään luoda tiedostoja ja varmistaa, että vain omistaja voi tuhota ne.
  • +1, D_bye, voisitteko jakaa esimerkin hakemiston setgid-bittisarjasta.Kiitos ryhmän omistaja itse hakemistona, eikä peri luomisprosessin (käynnissä olevan käyttäjän) ensisijaista ryhmää.

Vastaa

Luulen tarkoittavan tiedoston” SGID ”-bittiä, joka ei ole sama kuin sen GID.

Tässä” on tyypillinen tiedosto tietokoneellani (ls -l: n ulostulo):

-rw-r----- 1 bristol users 16 2012-07-23 11:36 file.txt abbbcccddd <-- See explanation below. 

Jos tarkastelet 10 ensimmäistä symbolia,

(a) -: Tämä on vain tavallinen vanha tiedosto (toisin kuin hakemistoon, symlinkiin, putkeen jne. …)

(b) rw-: Omistaja voi lukea ja kirjoittaa tätä tiedostoa, mutta ei suorittaa sitä. Omistaja on ”bristol”, kuten näette myöhemmin rivillä.

(c) r–: Tämän ryhmän ryhmän jäsenet (esimerkissä ”käyttäjät”), muut kuin omistaja, voivat lukea, mutta eivät kirjoittaa tai suorittaa tätä tiedostoa.

(d) —: A kukaan muu ei voi käyttää tätä tiedostoa ollenkaan (paitsi tietysti juuria).

GID-kenttä kertoo, mihin ryhmään tiedosto kuuluu – tässä tapauksessa ”käyttäjät”.

Kenttä, jonka luultavasti tarkoitit kuvauksenne perusteella, on SGID-bitti, ja tässä on parempi selitys kuin voisin keksiä:

http://www.codecoffee.com/tipsforlinux/articles/028.html

Lyhyt versio on: Jos suoritettavassa tiedostossa on SGID-bittiasetus, niin kuka tahansa, joka ei ole ryhmässä, mutta voi suorittaa tämän tiedoston, saa väliaikaisesti tämän ryhmän oikeudet ohjelman suorituksen aikana.

Jos sinulla on esimerkiksi ryhmä ”taustat”, joka pystyy lukemaan ja kirjoittamaan tiedostoja taustatulostushakemistossa, et ” Et halua kenenkään sotkevan tämän hakemiston kanssa, mutta haluat, että he pystyvät tulostamaan tiedostoja, voit tehdä joillekin tulostusohjelmille tai käsikirjoituksille ryhmän ”taustat” ja asettaa SGID-bitin. kirjoita taustatulostushakemistoon ilman henkilön juoksemista se saa täyden käyttöoikeuden.

Kommentit

  • Se on hyvä, kiitos siitä. Ymmärrän käyttöoikeuksien osan (abbbcccddd-osan) – mutta thatnk you 🙂
  • Olen juuri nähnyt, että oikeuteni tmp-kansiossa on drwxrwxrwt .... 2 sys .... sys .... 1024 Jul 24 15:17 tmp. Mitä abbbcccddt (kirjain ’ t ’) tarkoittaa? – Ymmärrän, että ” d = hakemisto ”, ” rwx = luettu, kirjoita, suorita ”; mutta en ole koskaan ennen nähnyt ’ t ’ -tunnusta. Onko tämä tmp-kansion erityinen käyttöoikeus?
  • Pieni t on ” suoritettava tiedosto (x) ja tahmea bittijoukko ”. Katso yllä selitys miksi tämä on tavallista / tmp: ssä.

Vastaa

GID on, kuten löytämäsi ryhmän tunnusnumero. Se on yksinkertainen tapa, jolla käyttöjärjestelmä ilmaisee johonkin liittyvän (käyttäjä) ryhmän (prosessi, tiedosto jne.); mahdollisesti pitkän merkkijonotunnisteen sijaan se voidaan ilmaista kiinteäkokoisena numerona.

Neljän oktaaliluvun (esimerkiksi 0755) tiedoston käyttöoikeusarvossa kolmas numero määrittää ryhmän oikeudet tiedostoon. Jos jätät väliin ensimmäisen numeron, se on toinen numero, joka määrittää ryhmän oikeudet. Huomaa, että tiedostoja ja hakemistoja kohdellaan tässä suhteessa samalla tavalla, mutta että kunkin käyttöoikeusbitin tarkka merkitys ei ole -tuitiivinen hakemistojen tapauksessa.

Nämä kaksi käsitettä liittyvät toisiinsa, mutta palvelevat hyvin erilaisia tarkoituksia.

Kysymyksessäsi ”onko näiden oikeuksien asettaminen edes tärkeää?”; ne asetetaan aina jollekin , mutta koska useimmissa tapauksissa alkunumero on 0 (”ei mitään erikoista”), se yleensä jätetään pois lyhyyden vuoksi. Joko sinun on määritettävä jokin muu arvo, riippuu täysin kyseisen tiedoston tai hakemiston käyttötapa.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *