Se on 3 erityisoikeutta, jotka ovat käytettävissä suoritettaville tiedostoille ja hakemistoille. Nämä ovat :
1. SUID-oikeus
2. SGID-oikeus
3. Sticky bit
Set-user Identification (SUID)
Oletko koskaan miettinyt, miten ei-root-käyttäjä voi vaihtaa omaa salasanaansa, kun hänellä ei ole kirjoitusoikeutta /etc/shadow-tiedostoon. hmmm… mielenkiintoista, eikö? No ymmärtääksesi tempun tarkista /usr/bin/passwd-komennon käyttöoikeus :
# ls -lrt /usr/bin/passwd-r-sr-sr-x 1 root sys 31396 Jan 20 2014 /usr/bin/passwd
– Jos tarkistat tarkkaan, löydät kaksi S:ää käyttöoikeuskentästä. Ensimmäinen s tarkoittaa SUID:ia ja toinen SGID:ia.
– Kun komento tai komentosarja, jonka SUID-bitti on asetettu, ajetaan, sen teholliseksi UID:ksi tulee tiedoston omistajan UID eikä sitä suorittavan käyttäjän UID.
– Toinen hyvä esimerkki SUID:stä on su-komento :
# ls -l /bin/su -rwsr-xr-x-x 1 root user 16384 Jan 12 2014 /bin/su
– Setuid-oikeudet näkyvät ”s”-merkkinä omistajan execute-kentässä.
Miten asettaa SUID tiedostoon?
# chmod 4555
Jos omistajan execute-kentässä näkyy iso ”S”, se osoittaa, että setuid-bitti on päällä ja tiedoston omistajan execute-bitti ”x” on pois päältä tai kielletty.
Set-group identification (SGID)
SGID-oikeus suoritettavaan tiedostoon
– SGID-oikeus on samanlainen kuin SUID-oikeus, ainoa ero on – kun komentosarjaa tai komentoa, jossa SGID on päällä, ajetaan, se ajetaan ikään kuin se olisi jäsenenä samassa ryhmässä, jossa tiedosto on jäsenenä.
# ls -l /usr/bin/write-r-xr-sr-x 1 root tty 11484 Jan 15 17:55 /usr/bin/write
– Setgid-oikeus näkyy ”s”-kirjaimena ryhmäkentässä execute.
– Jos ryhmän execute-kentässä näkyy pieni kirjain ”l”, se osoittaa, että setgid-bitti on päällä ja ryhmän execute-bitti on pois päältä tai kielletty.
Miten asetetaan tiedoston GUID?
# chmod 2555
SGID hakemistolle
– Kun SGID-oikeus on asetettu hakemistolle, hakemistoon luodut tiedostot kuuluvat siihen ryhmään, johon hakemisto kuuluu.
– Jos esimerkiksi käyttäjä, jolla on kirjoitusoikeus hakemistoon, luo sinne tiedoston, tämä tiedosto kuuluu samaan ryhmään kuin hakemisto eikä käyttäjän ryhmään.
– Tämä on erittäin hyödyllistä jaettujen hakemistojen luomisessa.
Hakemiston SGID:n asettaminen
# chmod g+s
Sticky Bit
– Sticky-bittiä käytetään ensisijaisesti jaetuissa hakemistoissa.
– Se on hyödyllinen jaetuissa hakemistoissa, kuten /var/tmp ja /tmp, koska käyttäjät voivat luoda tiedostoja, lukea ja suorittaa toisten käyttäjien omistamia tiedostoja, mutta eivät saa poistaa toisten käyttäjien omistamia tiedostoja.
– Jos esimerkiksi käyttäjä bob luo tiedoston nimeltä /tmp/bob, toinen käyttäjä tom ei voi poistaa tätä tiedostoa, vaikka /tmp-hakemiston käyttöoikeus on 777. Jos sticky-bittiä ei ole asetettu, tom voi poistaa tiedoston /tmp/bob, koska tiedosto /tmp/bob perii vanhemman hakemiston oikeudet.
– pääkäyttäjä (Tietenkin!) ja tiedostojen omistaja voivat poistaa omia tiedostojaan.
Esimerkki sticky bitistä :
# ls -ld /var/tmpdrwxrwxrwt 2 sys sys 512 Jan 26 11:02 /var/tmp
- T refers to when the execute permissions are off.- t refers to when the execute permissions are on.
Miten asetetaan sticky bitin käyttöoikeus?
# chmod +t or # chmod 1777