Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: Snufkin - 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.
drwx--S---
tarkoittaa (ehkä) että ko. kansioon luodot tiedostot saavat sinne käyttöoikeuden -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
-
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.
-
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?
-
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.
-
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.
-
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.
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
-
- 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.?
-
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.
-
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).
-
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.
-
Jatkanpa tähän vanhaan ketjuun ihmettelyä käyttöoikeuksista
Jos minulla on kansiossa käyttöoikeudet vain itselleni, mutta sitten kansiossa olevassa tiedostossa myös ryhmälle, niin näkeekö joku rymäläinen tuon tiedoston, jos tietää siihen suoran polun?
drwx------ ... .
-rw-rw---- ... tiedosto
Miten saan asetettua niin, että kaikki uusiin tiedostoihin tulee oikeudet vain minulle? Ja siis ilman, että jokaista tiedostoa pitää erikseen säätää.
-rw------- ... tiedosto
Kyseessä yhteiskäyttökone ja haluaisin pitää oman koodini salassa.
-
Jos minulla on kansiossa käyttöoikeudet vain itselleni, mutta sitten kansiossa olevassa tiedostossa myös ryhmälle, niin näkeekö joku rymäläinen tuon tiedoston, jos tietää siihen suoran polun?
drwx------ ... .
-rw-rw---- ... tiedosto
Ei näe. Mutta jos välissä olevissa kansioissa on g+x, näkee. Lukuoikeutta ei tarvita.
Miten saan asetettua niin, että kaikki uusiin tiedostoihin tulee oikeudet vain minulle?
Nimenomaan tämä on nykyään tehty tavattoman hankalaksi. Esimerkiksi nimenomaisesti Gnome tuntuu aktiivisesti olevan piittaamatta alla olevan järjestelmän asettamista oikeuksista ja käyttää oikeuksia 644 (= rw-r--r--) aina.
Periaatteessa pitäisi riittää, että asettaa /etc/login.defs-tiedostossa UMASK-rivillä arvon 077, mutta se ei ole riittänyt vuosiin graafisille ohjelmille.
Ihan vastikään joku kuitenkin jossakin toisessa säikeessä vinkkasi, miten Arch Linuxin wiki neuvoo käyttämään SystemD:tä ja PAMia tähän; en kuitenkaan löydä sitä säiettä juuri nyt enkä tullut vielä itsekään kokeilleeksi.
-
Jos minulla on kansiossa käyttöoikeudet vain itselleni, mutta sitten kansiossa olevassa tiedostossa myös ryhmälle, niin näkeekö joku rymäläinen tuon tiedoston, jos tietää siihen suoran polun?
drwx------ ... .
-rw-rw---- ... tiedosto
Ei näe. Mutta jos välissä olevissa kansioissa on g+x, näkee. Lukuoikeutta ei tarvita.
Ok, kiitos. Pitää tutkia nuo välikansiot. Se ei ole kohtuuhon homma ihan manuaalisestikaan.
Periaatteessa pitäisi riittää, että asettaa /etc/login.defs-tiedostossa UMASK-rivillä arvon 077, mutta se ei ole riittänyt vuosiin graafisille ohjelmille.
Mä käytän ko. konetta vain komentotulkin (SSH:n) kautta, joten siihenkö tuo sitten toimisi?
En tosin taida päästä käsiksi muualle kuin omaan kansioon, jossa ei ole etc/-kansiota. Luonko sinne vain tuollaisen logi.defs-tiedoston?
-
Mä käytän ko. konetta vain komentotulkin (SSH:n) kautta, joten siihenkö tuo sitten toimisi?
Toimisi, koska komentotulkeille umaskin asettaminen on helppoa ja ne kunnioittavat sitä. Riittää, että lisäät käynnistysskriptiin (~/.bashrc, ~/.zshenv tai vastaava):
umask 077
-
Ihan vastikään joku kuitenkin jossakin toisessa säikeessä vinkkasi, miten Arch Linuxin wiki neuvoo käyttämään SystemD:tä ja PAMia tähän; en kuitenkaan löydä sitä säiettä juuri nyt enkä tullut vielä itsekään kokeilleeksi.
Täällä: https://forum.ubuntu-fi.org/index.php?topic=59462.msg452061#msg452061
Mutta tässä yhden käyttäjätunnuksen ja komentotulkin tapauksessa tosiaan riittää lisätä rivi umask 077 tiedostoon .bashrc (jos komentotulkkina on Bash)
-
Toimisi, koska komentotulkeille umaskin asettaminen on helppoa ja ne kunnioittavat sitä. Riittää, että lisäät käynnistysskriptiin (~/.bashrc, ~/.zshenv tai vastaava):
umask 077
Kiitos, tämä toimi!
(lisäsin .bashrc:hen omien aliaksien joukkoon)
-
Täällä: https://forum.ubuntu-fi.org/index.php?topic=59462.msg452061#msg452061
Kiitos, nyt panin sen kirjanmerkiksi ;)