Difference between revisions of "Setuid / Setgid"

From ICO wiki
Line 1: Line 1:
 +
==Autor==
 +
Martin Abel A41
 +
 +
== Sissejuhatus ==
 +
 +
Setuid / SUID (set user id) on kasutajapõhine õiguste bit. Setuid-ga antakse kasutajale õigus käivitada programm / fail omanikuõigustega. Setgid / SGID (set group id) on grupipõhine õiguste bit. Setgid-ga antakse gruppi kuuluvale kasutajale õigused käivitada programm / fail omanikugrupi õigustega.
 +
 +
== Setguid ja Setgid lisamine ==
 +
 +
Setguid ja Setgid õiguseid jagatakse '''chmod''' käsuga.
 +
Setuid ja Setgid saab määratleta nii loabittide (numbrite kujul) kui ka loetavas formaadis (r - read, w - write, x- execute)
 +
 +
== Näited: ==
 +
 +
'''Loetavas formaadis:'''
 +
 +
* Setuid lisamine:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | chmod u+s kaust/failinimi
 +
|}
 +
* Setuid eemaldamine:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | chmod u-s kaust/failinimi
 +
|}
 +
 +
* Setgid lisamine:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | chmod g+s kaust/failinimi
 +
|}
 +
* Setgid eemaldamine:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | chmod g-s kaust/failinimi
 +
|}
 +
 +
'''Loabittide formaadis (numbrite kujul):'''
 +
 +
Setuid määramiseks tuleb loabittide ette kirjutada 4 ja õigusbitid järgi.
 +
Näiteks soovime anda failile Setuid:
 +
 +
* lisamiseks:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | chmod 4775 kaust/failinimi
 +
|}
 +
 +
* eemaldamiseks:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | chmod 0775 kaust/failinimi
 +
|}
 +
 +
Setgid määramiseks tuleb loasbittide ette kirjutada 2, sama põhimõte nagu ka Setuid-lgi.
 +
 +
* lisamiseks:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | chmod 2775 kaust/failinimi
 +
|}
 +
* eemaldamiseks:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | chmod 0775 kaust/failinimi
 +
|}
 +
 +
 +
 +
Setuid ja Setgid määramiseks tuleb kasutada loabitti 6.
 +
* lisamiseks:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | chmod 6775 kaust/failinimi
 +
|}
 +
* eemaldamiseks:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | chmod 0775 kaust/failinimi
 +
|}
 +
 +
== Kontrollimaks kas Setuid või Setgid rakendus. ==
 +
Vaatamaks kas failil on Setuid või Setgid määratletud, kasutatakse käsku '''ls -l'''. '''„s“''' näitab kasutaja õigustes ning grupi õigustes Setuid või Setgid määratletust.
 +
 +
* Käsk:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | ls -l
 +
|}
 +
* Tulemus:
 +
{|style="background:lightyellow;width:1000px;margin:3px;border:1px solid lightgrey"
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | -rw'''s'''rw'''s'''r-x 1 kasutaja kasutaja 0 2016-11-28 02:46 script
 +
|}
 +
 +
 +
== Failide leidmine millele on määratletud Setuid või Setgid: ==
 +
 +
*Setuid:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | find / -type f -perm /4000
 +
|}
 +
 +
*Setgid:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | find / -type f -perm /2000
 +
|}
 +
 +
*Setgid + Setuid:
 +
{|style="background:lightyellow;width:300px;margin:3px;border:1px solid lightgrey" align=centre
 +
| style="padding:0px 0px 0px 80px;font-family:courier;font-size:8pt;" | find / -type f -perm /6000
 +
|}
 +
 +
== Kokkuvõte. ==
 +
 +
Setuid on kasulik õiguste jagamise viis konkreetsetele failidele. Tavakasutajat ei pea muutma näiteks juurkasutajaks, et kindlates failides teha muudatusi. Setuid võimaldab jagada kasutajaõiguseid paindlikumalt ilma turvariski tõstmata.
 +
Setgid on kasulik grupi õiguste jagamise viis konkreetsele failile ilma faili omanikugruppi muutmata. Võimaldab jagada grupile õiguseid paindlikumalt ilma turvariski tõstmata.
 +
 +
 +
== Kasutatud kirjandus. ==
 +
#http://linuxg.net/how-to-set-the-Setuid-and-Setgid-bit-for-files-in-linux-and-unix/
 +
#https://docs.oracle.com/cd/E19683-01/816-4883/secfile-69/index.html
 +
#http://thegeekdiary.com/what-is-suid-sgid-and-sticky-bit/
 +
#http://www.codecoffee.com/tipsforlinux/articles/028.html
 +
 +
 +
 +
 +
 
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]
 
[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]

Revision as of 15:01, 6 December 2016

Autor

Martin Abel A41

Sissejuhatus

Setuid / SUID (set user id) on kasutajapõhine õiguste bit. Setuid-ga antakse kasutajale õigus käivitada programm / fail omanikuõigustega. Setgid / SGID (set group id) on grupipõhine õiguste bit. Setgid-ga antakse gruppi kuuluvale kasutajale õigused käivitada programm / fail omanikugrupi õigustega.

Setguid ja Setgid lisamine

Setguid ja Setgid õiguseid jagatakse chmod käsuga. Setuid ja Setgid saab määratleta nii loabittide (numbrite kujul) kui ka loetavas formaadis (r - read, w - write, x- execute)

Näited:

Loetavas formaadis:

  • Setuid lisamine:
chmod u+s kaust/failinimi
  • Setuid eemaldamine:
chmod u-s kaust/failinimi
  • Setgid lisamine:
chmod g+s kaust/failinimi
  • Setgid eemaldamine:
chmod g-s kaust/failinimi

Loabittide formaadis (numbrite kujul):

Setuid määramiseks tuleb loabittide ette kirjutada 4 ja õigusbitid järgi. Näiteks soovime anda failile Setuid:

  • lisamiseks:
chmod 4775 kaust/failinimi
  • eemaldamiseks:
chmod 0775 kaust/failinimi

Setgid määramiseks tuleb loasbittide ette kirjutada 2, sama põhimõte nagu ka Setuid-lgi.

  • lisamiseks:
chmod 2775 kaust/failinimi
  • eemaldamiseks:
chmod 0775 kaust/failinimi


Setuid ja Setgid määramiseks tuleb kasutada loabitti 6.

  • lisamiseks:
chmod 6775 kaust/failinimi
  • eemaldamiseks:
chmod 0775 kaust/failinimi

Kontrollimaks kas Setuid või Setgid rakendus.

Vaatamaks kas failil on Setuid või Setgid määratletud, kasutatakse käsku ls -l. „s“ näitab kasutaja õigustes ning grupi õigustes Setuid või Setgid määratletust.

  • Käsk:
ls -l
  • Tulemus:
-rwsrwsr-x 1 kasutaja kasutaja 0 2016-11-28 02:46 script


Failide leidmine millele on määratletud Setuid või Setgid:

  • Setuid:
find / -type f -perm /4000
  • Setgid:
find / -type f -perm /2000
  • Setgid + Setuid:
find / -type f -perm /6000

Kokkuvõte.

Setuid on kasulik õiguste jagamise viis konkreetsetele failidele. Tavakasutajat ei pea muutma näiteks juurkasutajaks, et kindlates failides teha muudatusi. Setuid võimaldab jagada kasutajaõiguseid paindlikumalt ilma turvariski tõstmata. Setgid on kasulik grupi õiguste jagamise viis konkreetsele failile ilma faili omanikugruppi muutmata. Võimaldab jagada grupile õiguseid paindlikumalt ilma turvariski tõstmata.


Kasutatud kirjandus.

  1. http://linuxg.net/how-to-set-the-Setuid-and-Setgid-bit-for-files-in-linux-and-unix/
  2. https://docs.oracle.com/cd/E19683-01/816-4883/secfile-69/index.html
  3. http://thegeekdiary.com/what-is-suid-sgid-and-sticky-bit/
  4. http://www.codecoffee.com/tipsforlinux/articles/028.html