Kirjoittaja Aihe: Mitä tuo SGID merkitsee?  (Luettu 560 kertaa)

Snufkin

  • Käyttäjä
  • Viestejä: 486
    • Profiili
Mitä tuo SGID merkitsee?
« : 14.08.25 - klo:14.46 »
Osaisiko joku selittää minulle (vaikka rautalangasta vääntäen), mikä on tuon ison S-kirjaimen funktio kansion käyttöoikeuksissa. Esim.
Koodia: [Valitse]
drwx--S--- tarkoittaa (ehkä) että ko. kansioon luodot tiedostot saavat sinne käyttöoikeuden
Koodia: [Valitse]
-rw-rw---. Mutta en ymmärrä miksi. Jos ryhmällä ei ole ko kansioon käyttöoikeuksia, niin voiko sillä silti olla sen alla olevaan tiedostoon? Mihin tällaista tarvitaan?

Tuolta koitin asiaan opiskella.
https://www.redhat.com/en/blog/suid-sgid-sticky-bit
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

igor_2

  • Käyttäjä
  • Viestejä: 802
    • Profiili
Vs: Mitä tuo SGID merkitsee?
« Vastaus #1 : 14.08.25 - klo:15.48 »
Linuxin tiedosto-oikeuksissa iso S (käyttäjäryhmän tai muiden kohdalla) tarkoittaa sitä, että setgid-bitti on asetettu, mutta suoritusoikeutta (x) ei ole.

Tarkemmin selitettynä:

    Kun suoritusoikeus (x) on asetettu, setgid-bitti näkyy pienenä s-kirjaimena: drwx--s---. Tällöin tiedosto perii sen ryhmän oikeudet, joka omistaa kansion tai tiedoston.

    Kun suoritusoikeutta (x) ei ole, setgid-bitti näkyy isona S-kirjaimena: drwx--S---. Tämä tarkoittaa, että setgid on asetettu, mutta se ei ole toiminnassa. Koska ryhmällä ei ole suoritusoikeutta, perittyjä oikeuksia ei voida hyödyntää.

Toisin sanoen, iso S-kirjain on merkki potentiaalista, jonka käyttö on estetty suoritusoikeuden puuttumisen vuoksi. Se on harvinaisempi ja usein ei-toivottu tila.

Snufkin

  • Käyttäjä
  • Viestejä: 486
    • Profiili
Vs: Mitä tuo SGID merkitsee?
« Vastaus #2 : 14.08.25 - klo:16.54 »
Tarkoittaako tuo, että jos kansion oikeuksissa Groupilla on vain tuo S, ja siten kansion alle luotuun tiedostoon muodostuu Groupille rw, niin kansiota ei pääse selaamaan, mutta jos tietää yksittäisen tiedoston nimen (ja polun) niin sitä voi lukea ja kirjoittaa?
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

SuperOscar

  • Käyttäjä
  • Viestejä: 4221
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Mitä tuo SGID merkitsee?
« Vastaus #3 : 16.08.25 - klo:14.29 »
Se on harvinaisempi ja usein ei-toivottu tila.

Täytyipä kokeilla, koska itselläni tilanne ei ole ollut mitenkään harvinainen.

Ilmeisesti helppo tapa saada tuo aikaiseksi on tällainen:
  • asetetaan kokeiluun käytettävälle tunnukselle umask 077 (= tiedostoja ja kansioita luotaessa oikeudet tulevat vain käyttäjälle itselleen) – tämä on minulla vakio, mikä saattaa olla syynä siihen, että törmään ongelmaan usein
  • luodaan kansio, jonka omistaja on esimerkiksi root (tai ainakin mikä tahansa muu kuin kokeiluun käytettävä tunnus) ja omistava ryhmä sellainen, johon kokeiluun käytettävä tunnus kuuluu, ts. esim. root:staff (jos tunnus kuuluu staffiin)
  • annetaan kansiolle oikeudet 6775 (= rwxrwsr-x) eli asetetaan tarrabitti ryhmälle ja
  • lopuksi siirrytään kansioon kokeilutunnuksella ja luodaan uusi alikansio.

Tällöin ilmeisesti umaskin ja tarrabitin ristiriidan seurauksena ryhmän oikeuksiksi tulee --S.

En ole aivan varma, tarvitaanko ongelmaan törmäämiseksi kaikkea yllä mainittua, mutta ainakin tuolla tavoin tuntuu onnistuvan säännöllisesti.
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 13;  NUC: openSUSE Leap 15.6; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14.2-RELEASE; RPi 2: LibreELEC 12

Snufkin

  • Käyttäjä
  • Viestejä: 486
    • Profiili
Vs: Mitä tuo SGID merkitsee?
« Vastaus #4 : 16.08.25 - klo:15.12 »
Tää pohdinta tuli vastaan yhdellä kurssilla, kun käytän ulkoista Linux-tietokonetta SSH:lla ja siellä luotuihin kotikansioihin alustuu automaattisesti tuo  drwx--S---  , vaikka asettaa oikeudet   chmod 700 .  Se siis periytynee jostain ylempää.

Tuohon ryhmään kuulunee sitten muita opiskelijoita ja kurssin vetäjä. En tiedä onko jossain vaiheessa tarpeen ajaa muiden tekemää koodia tms. ja voisiko se olla syy tällaiseen. Tai pitääkö kurssin opettajalla olla tuo oikeus.
« Viimeksi muokattu: 16.08.25 - klo:15.14 kirjoittanut Snufkin »
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

Snufkin

  • Käyttäjä
  • Viestejä: 486
    • Profiili
Vs: Mitä tuo SGID merkitsee?
« Vastaus #5 : 16.08.25 - klo:15.32 »
Tässä vielä ls -al tulostus (hieman muokattuna). Siitä ilmenee, että ko. kansioon (.) on oikeus vain käyttäjällä, mutta sitten sen alle luotuihin kansioihin (Harj1) ja tiedostoihin (test.c) myös ryhmällä, samoin kuin ajo-oikeus. Mitään chmod-muutoksia ei ole noihin tehty.

Koodia: [Valitse]
drwx--S--- 12 user project 4096 14. 8. 14:59 .
drwxrws---  2 user project 4096 14. 8. 14:59 Harj1
-rw-rw----  1 user project  452 14. 8. 14:59 testi.c
-rwxrwx---  1 user project  452 14. 8. 14:59 a.out
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

Snufkin

  • Käyttäjä
  • Viestejä: 486
    • Profiili
Vs: Mitä tuo SGID merkitsee?
« Vastaus #6 : 16.08.25 - klo:15.43 »
  • asetetaan kokeiluun käytettävälle tunnukselle umask 077 (= tiedostoja ja kansioita luotaessa oikeudet tulevat vain käyttäjälle itselleen) – tämä on minulla vakio, mikä saattaa olla syynä siihen, että törmään ongelmaan usein

Onko tuolla umask'lla väliä, jos vain yhden käyttäjän kone, jossa ei ole mitäänpalvelimia tms.?
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

SuperOscar

  • Käyttäjä
  • Viestejä: 4221
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Mitä tuo SGID merkitsee?
« Vastaus #7 : 16.08.25 - klo:17.09 »
Onko tuolla umask'lla väliä, jos vain yhden käyttäjän kone, jossa ei ole mitäänpalvelimia tms.?

Se on tietysti niin ja näin. Itse olen kokenut, että koko ajatus erillisistä käyttäjätunnuksista on aika turha, jos kaikki kuitenkin näkevät toistensa kaikki tiedostot. Mieluummin hoidan näkymisen ryhmien kautta tapauskohtaisesti.
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 13;  NUC: openSUSE Leap 15.6; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14.2-RELEASE; RPi 2: LibreELEC 12

Snufkin

  • Käyttäjä
  • Viestejä: 486
    • Profiili
Vs: Mitä tuo SGID merkitsee?
« Vastaus #8 : 16.08.25 - klo:17.11 »
Onko tuolla umask'lla väliä, jos vain yhden käyttäjän kone, jossa ei ole mitäänpalvelimia tms.?

Se on tietysti niin ja näin. Itse olen kokenut, että koko ajatus erillisistä käyttäjätunnuksista on aika turha, jos kaikki kuitenkin näkevät toistensa kaikki tiedostot. Mieluummin hoidan näkymisen ryhmien kautta tapauskohtaisesti.

Mutta yhden käyttäjän koneessa ei ole kuin yksi käyttäjä (+root).
Xubuntu 22.04 LTS, Fujitsu Lifebook E754

SuperOscar

  • Käyttäjä
  • Viestejä: 4221
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Mitä tuo SGID merkitsee?
« Vastaus #9 : 16.08.25 - klo:19.07 »
Mutta yhden käyttäjän koneessa ei ole kuin yksi käyttäjä (+root).

Minulla on yleensä vähintään kaksi, usein kolme: oma varsinainen tunnus, puhtaana pidettävä koekäyttäjätunnus kokeiluihin ja ”karaoketunnus”, jota voi pitää auki vieraille.
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 13;  NUC: openSUSE Leap 15.6; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14.2-RELEASE; RPi 2: LibreELEC 12