{"id":1095,"date":"2026-01-09T15:37:45","date_gmt":"2026-01-09T15:37:45","guid":{"rendered":"https:\/\/sudoit.pl\/?p=1095"},"modified":"2026-01-09T17:45:08","modified_gmt":"2026-01-09T17:45:08","slug":"uprawnienia-w-linuksie","status":"publish","type":"post","link":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/","title":{"rendered":"Uprawnienia w Linuksie"},"content":{"rendered":"\n<p>Kontynuuj\u0105c analogi\u0119 <strong>metropolii<\/strong> z poprzedniego artyku\u0142u, do\u0142\u00f3\u017cmy kolejn\u0105 cegie\u0142k\u0119: <strong>uprawnienia<\/strong>. Mo\u017cesz je traktowa\u0107 jak <strong>prawa miejskie<\/strong> &#8211; okre\u015blaj\u0105, kto mo\u017ce wprowadza\u0107 zmiany w \u201einfrastrukturze\u201d systemu: <strong>tworzy\u0107<\/strong>, <strong>modyfikowa\u0107<\/strong> lub <strong>usuwa\u0107<\/strong> pliki i katalogi.<\/p>\n\n\n\n<p>W \u015bwiecie <strong>Linuksa<\/strong> uprawnienia definiuj\u0105, <strong>kto<\/strong> ma dost\u0119p do pliku lub katalogu i <strong>co<\/strong> mo\u017ce z nim zrobi\u0107. To jak punkt kontroli bezpiecze\u0144stwa dla Twoich danych &#8211; dzi\u0119ki niemu tylko <strong>autoryzowani u\u017cytkownicy<\/strong> mog\u0105 <strong>czyta\u0107<\/strong>, <strong>edytowa\u0107<\/strong> lub <strong>uruchamia\u0107<\/strong> wybrane zasoby.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Rodzaje uprawnie\u0144 w Linuksie<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"928\" height=\"281\" src=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia.png\" alt=\"\" class=\"wp-image-1096\" srcset=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia.png 928w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia-300x91.png 300w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia-768x233.png 768w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia-585x177.png 585w\" sizes=\"(max-width: 928px) 100vw, 928px\" \/><\/figure>\n\n\n\n<p>Najcz\u0119\u015bciej podejrzysz uprawnienia poleceniem <strong>ls -la<\/strong>. Za prawa dost\u0119pu odpowiada <strong>pierwsza kolumna<\/strong>. Na pocz\u0105tku mo\u017ce wygl\u0105da\u0107 to chaotycznie, ale gdy poznasz logik\u0119 znak\u00f3w, wszystko stanie si\u0119 proste.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"885\" height=\"444\" src=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia1.png\" alt=\"\" class=\"wp-image-1097\" srcset=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia1.png 885w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia1-300x151.png 300w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia1-768x385.png 768w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia1-585x293.png 585w\" sizes=\"(max-width: 885px) 100vw, 885px\" \/><\/figure>\n\n\n\n<p>Uprawnienia plik\u00f3w i katalog\u00f3w sk\u0142adaj\u0105 si\u0119 z trzech zestaw\u00f3w:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Uprawnienia w\u0142a\u015bciciela (owner)<\/strong> \u2013 co mo\u017ce zrobi\u0107 <strong>w\u0142a\u015bciciel pliku<\/strong><\/li>\n\n\n\n<li><strong>Uprawnienia grupy (group)<\/strong> \u2013 co mog\u0105 zrobi\u0107 u\u017cytkownicy z tej samej <strong>grupy<\/strong><\/li>\n\n\n\n<li><strong>Uprawnienia innych (others)<\/strong> \u2013 co mog\u0105 zrobi\u0107 <strong>pozostali u\u017cytkownicy<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Typ pliku &#8211; pierwszy znak<\/h3>\n\n\n\n<p>Pierwszy znak w zapisie uprawnie\u0144 informuje, <strong>z jakim typem <\/strong>obiektu masz do czynienia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>d<\/strong> &#8211; <strong>katalog<\/strong><\/li>\n\n\n\n<li><strong>&#8211;<\/strong> &#8211; <strong>plik<\/strong><\/li>\n\n\n\n<li><strong>l<\/strong> &#8211; <strong>dowi\u0105zanie symboliczne<\/strong> (symlink)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Prawa rwx \u2014 co oznaczaj\u0105?<\/h3>\n\n\n\n<p>Kolejne znaki to trzy bloki po trzy litery: <strong>rwx rwx rwx<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>r (read)<\/strong> \u2013 pozwala <strong>odczyta\u0107<\/strong> zawarto\u015b\u0107 pliku (lub list\u0119 plik\u00f3w w katalogu)<\/li>\n\n\n\n<li><strong>w (write)<\/strong> \u2013 pozwala <strong>modyfikowa\u0107<\/strong> lub <strong>usuwa\u0107<\/strong><\/li>\n\n\n\n<li><strong>x (execute)<\/strong> \u2013 pozwala <strong>uruchomi\u0107<\/strong> plik (program\/skrypt)<\/li>\n<\/ul>\n\n\n\n<p>W Linuksie nie ma obowi\u0105zkowych rozszerze\u0144 typu <strong>.exe<\/strong> &#8211; o wykonywalno\u015bci decyduje g\u0142\u00f3wnie <strong>bit x<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Jak zmieni\u0107 uprawnienia? Polecenie chmod<\/h2>\n\n\n\n<p>Aby zmienia\u0107 uprawnienia, u\u017cywa si\u0119 polecenia <strong>chmod<\/strong>. W\u0142a\u015bciciel pliku (nawet jako zwyk\u0142y u\u017cytkownik) mo\u017ce zmienia\u0107 uprawnienia <strong>do swoich plik\u00f3w<\/strong>.<\/p>\n\n\n\n<p>S\u0105 dwie metody:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>metoda liczbowa (\u00f3semkowa)<\/strong><\/li>\n\n\n\n<li><strong>metoda s\u0142owna (r\/w\/x)<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Obie dzia\u0142aj\u0105 tak samo &#8211; wybierz t\u0119, kt\u00f3ra jest dla Ciebie wygodniejsza.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Metoda liczbowa (\u00f3semkowa)<\/h3>\n\n\n\n<p>W metodzie liczbowej zmiany uprawnie\u0144, nale\u017cy za pomoc\u0105 liczb \u00f3semkowych poda\u0107, jakie uprawnienia maj\u0105 by\u0107 przypisane dla w\u0142a\u015bciciela, grupy oraz pozosta\u0142ych u\u017cytkownik\u00f3w. Zauwa\u017c, \u017ce suma odpowiednich liczb daje zestaw odpowiadaj\u0105cych im uprawnie\u0144.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"973\" height=\"240\" src=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chmod.png\" alt=\"\" class=\"wp-image-1099\" srcset=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chmod.png 973w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chmod-300x74.png 300w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chmod-768x189.png 768w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chmod-585x144.png 585w\" sizes=\"(max-width: 973px) 100vw, 973px\" \/><\/figure>\n\n\n\n<p>Ka\u017cda cyfra to suma warto\u015bci:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>4<\/strong> = <strong>r<\/strong><\/li>\n\n\n\n<li><strong>2<\/strong> = <strong>w<\/strong><\/li>\n\n\n\n<li><strong>1<\/strong> = <strong>x<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Dost\u0119pne zestawy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>0<\/strong> &#8211; brak uprawnie\u0144 (<strong>&#8212;<\/strong>)<\/li>\n\n\n\n<li><strong>1<\/strong> &#8211; wykonywanie (<strong>&#8211;x<\/strong>)<\/li>\n\n\n\n<li><strong>2<\/strong> &#8211; zapis (<strong>-w-<\/strong>)<\/li>\n\n\n\n<li><strong>3<\/strong> &#8211; zapis + wykonywanie (<strong>-wx<\/strong>)<\/li>\n\n\n\n<li><strong>4<\/strong> &#8211; odczyt (<strong>r&#8211;<\/strong>)<\/li>\n\n\n\n<li><strong>5<\/strong> &#8211; odczyt + wykonywanie (<strong>r-x<\/strong>)<\/li>\n\n\n\n<li><strong>6<\/strong> &#8211; odczyt + zapis (<strong>rw-<\/strong>)<\/li>\n\n\n\n<li><strong>7<\/strong> &#8211; odczyt + zapis + wykonywanie (<strong>rwx<\/strong>)<\/li>\n<\/ul>\n\n\n\n<p>Je\u015bli chcesz zmienia\u0107 uprawnienia <strong>rekurencyjnie<\/strong> dla ca\u0142ego katalogu, u\u017cyj prze\u0142\u0105cznika <strong>-R<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Metoda s\u0142owna (u\/g\/o\/a)<\/h3>\n\n\n\n<p>W metodzie s\u0142ownej, nale\u017cy najpierw poda\u0107, dla kogo prawa dost\u0119pu maj\u0105 zosta\u0107 zmienione. <\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"973\" height=\"252\" src=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chmod1.png\" alt=\"\" class=\"wp-image-1100\" srcset=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chmod1.png 973w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chmod1-300x78.png 300w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chmod1-768x199.png 768w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chmod1-585x152.png 585w\" sizes=\"(max-width: 973px) 100vw, 973px\" \/><\/figure>\n\n\n\n<p>Dost\u0119pne s\u0105 cztery warto\u015bci:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>u<\/strong> \u2013 <strong>w\u0142a\u015bciciel<\/strong><\/li>\n\n\n\n<li><strong>g<\/strong> \u2013 <strong>grupa<\/strong><\/li>\n\n\n\n<li><strong>o<\/strong> \u2013 <strong>inni<\/strong><\/li>\n\n\n\n<li><strong>a<\/strong> \u2013 <strong>wszyscy<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Mo\u017cesz je \u0142\u0105czy\u0107, np. <strong>ugo<\/strong>.<\/p>\n\n\n\n<p>Potem u\u017cywasz:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>+<\/strong> aby <strong>doda\u0107<\/strong> uprawnienie<\/li>\n\n\n\n<li><strong>&#8211;<\/strong> aby <strong>odebra\u0107<\/strong> uprawnienie<\/li>\n<\/ul>\n\n\n\n<p>Na ko\u0144cu wskazujesz uprawnienia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>r<\/strong> \u2013 odczyt<\/li>\n\n\n\n<li><strong>w<\/strong> \u2013 zapis<\/li>\n\n\n\n<li><strong>x<\/strong> \u2013 wykonywanie<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Zmiana w\u0142a\u015bciciela i grupy<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Zmiana w\u0142a\u015bciciela (chown)<\/h3>\n\n\n\n<p>Czasami potrzebujesz zmieni\u0107 <strong>w\u0142a\u015bciciela pliku<\/strong> albo od razu <strong>w\u0142a\u015bciciela i grup\u0119<\/strong> &#8211; s\u0142u\u017cy do tego <strong>chown<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"245\" src=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chown.png\" alt=\"\" class=\"wp-image-1104\" srcset=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chown.png 967w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chown-300x76.png 300w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chown-768x195.png 768w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chown-585x148.png 585w\" sizes=\"(max-width: 967px) 100vw, 967px\" \/><\/figure>\n\n\n\n<p>Przyk\u0142ad zmiany w\u0142a\u015bciciela i grupy jednocze\u015bnie:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chown <strong>ola:Informatycy<\/strong> \/home\/patryk\/dokumenty\/plik.txt\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Zmiana grupy (chgrp)<\/h3>\n\n\n\n<p>Je\u015bli chcesz zmieni\u0107 tylko <strong>grup\u0119<\/strong>, mo\u017cesz u\u017cy\u0107 <strong>chgrp<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"235\" src=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chgrp-1024x235.png\" alt=\"\" class=\"wp-image-1105\" srcset=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chgrp-1024x235.png 1024w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chgrp-300x69.png 300w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chgrp-768x176.png 768w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chgrp-585x134.png 585w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/chgrp.png 1055w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Specjalne uprawnienia: SUID, SGID i Sticky Bit<\/h2>\n\n\n\n<p>Poza standardowym <strong>rwx<\/strong> istniej\u0105 te\u017c trzy <strong>specjalne bity<\/strong>, kt\u00f3re zwi\u0119kszaj\u0105 funkcjonalno\u015b\u0107 i bezpiecze\u0144stwo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SUID (Set User ID)<\/h3>\n\n\n\n<p>Je\u015bli plik ma ustawiony <strong>SUID<\/strong>, uruchamia si\u0119 z uprawnieniami <strong>w\u0142a\u015bciciela pliku<\/strong>, a nie osoby, kt\u00f3ra go uruchamia. To popularne przy programach wymagaj\u0105cych wy\u017cszych uprawnie\u0144.<\/p>\n\n\n\n<p>Przyk\u0142ad: aby zwykli u\u017cytkownicy mogli korzysta\u0107 z <strong>ping<\/strong> (w\u0142a\u015bciciel: <strong>root<\/strong>), stosuje si\u0119 <strong>SUID<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"231\" src=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/SUID-1024x231.png\" alt=\"\" class=\"wp-image-1106\" srcset=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/SUID-1024x231.png 1024w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/SUID-300x68.png 300w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/SUID-768x174.png 768w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/SUID-585x132.png 585w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/SUID.png 1053w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Po ustawieniu SUID w miejscu <strong>x<\/strong> dla w\u0142a\u015bciciela pojawia si\u0119 <strong>s<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">SGID (Set Group ID)<\/h3>\n\n\n\n<p><strong>SGID<\/strong> dzia\u0142a podobnie, ale dotyczy <strong>grupy<\/strong>.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dla plik\u00f3w: program uruchamia si\u0119 z uprawnieniami <strong>grupy b\u0119d\u0105cej w\u0142a\u015bcicielem pliku<\/strong><\/li>\n\n\n\n<li>Dla katalog\u00f3w: nowe pliki i katalogi <strong>dziedzicz\u0105 grup\u0119 katalogu nadrz\u0119dnego<\/strong><\/li>\n<\/ul>\n\n\n\n<p>To \u015bwietne rozwi\u0105zanie dla katalog\u00f3w wsp\u00f3\u0142dzielonych w zespole. Ustawiaj\u0105c bit SGID w tym katalogu, wszelkie pliki utworzone w nim dziedzicz\u0105 grup\u0119 b\u0119d\u0105c\u0105 w\u0142a\u015bcicielem katalogu, a nie grup\u0119 u\u017cytkownika tworz\u0105cego plik. Dzi\u0119ki temu wszystkie pliki w katalogu zachowaj\u0105 wsp\u00f3ln\u0105 grup\u0119, co u\u0142atwia bezproblemow\u0105 wsp\u00f3\u0142prac\u0119 mi\u0119dzy cz\u0142onkami grupy.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"330\" src=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sgid-1024x330.png\" alt=\"\" class=\"wp-image-1109\" srcset=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sgid-1024x330.png 1024w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sgid-300x97.png 300w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sgid-768x248.png 768w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sgid-585x189.png 585w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sgid.png 1048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Po ustawieniu SGID w miejscu <strong>x<\/strong> dla grupy pojawia si\u0119 <strong>s<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Sticky Bit<\/h3>\n\n\n\n<p><strong>Sticky Bit<\/strong> dzia\u0142a na <strong>katalogach<\/strong> i ogranicza usuwanie znajduj\u0105cych si\u0119 w nim plik\u00f3w. Taki plik mo\u017ce usun\u0105\u0107 tylko:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>w\u0142a\u015bciciel pliku<\/strong><\/li>\n\n\n\n<li><strong>w\u0142a\u015bciciel katalogu<\/strong><\/li>\n\n\n\n<li><strong>root<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Najcz\u0119\u015bciej spotkasz to w katalogu <strong>\/tmp<\/strong>.<\/p>\n\n\n\n<p><strong>Przyk\u0142ad:<\/strong> Mo\u017cna utworzy\u0107 publiczny katalog na serwerze internetowym, do kt\u00f3rego u\u017cytkownicy mog\u0105 przesy\u0142a\u0107 swoje pliki. Ustawiaj\u0105c Sticky Bit w tym katalogu, u\u017cytkownicy mog\u0105 swobodnie przesy\u0142a\u0107 pliki, ale po przes\u0142aniu tylko w\u0142a\u015bciciel pliku, w\u0142a\u015bciciel katalogu lub u\u017cytkownik root mo\u017ce usuwa\u0107 lub modyfikowa\u0107 te pliki. Zapobiega to modyfikowaniu lub usuwaniu plik\u00f3w przes\u0142anych przez innych u\u017cytkownik\u00f3w, zapewniaj\u0105c bezpiecze\u0144stwo plik\u00f3w.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"244\" src=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sticky_bit-1024x244.png\" alt=\"\" class=\"wp-image-1111\" srcset=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sticky_bit-1024x244.png 1024w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sticky_bit-300x71.png 300w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sticky_bit-768x183.png 768w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sticky_bit-585x139.png 585w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/sticky_bit.png 1055w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Po ustawieniu Sticky Bit w miejscu <strong>x<\/strong> dla \u201einnych\u201d pojawia si\u0119 <strong>t<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Zmienna umask<\/h2>\n\n\n\n<p>Polecenie <strong>umask<\/strong> ustawia <strong>domy\u015blne uprawnienia<\/strong> dla nowo tworzonych plik\u00f3w i katalog\u00f3w.<\/p>\n\n\n\n<p>Linux zwykle startuje od maksymalnych warto\u015bci:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>666<\/strong> dla plik\u00f3w<\/li>\n\n\n\n<li><strong>777<\/strong> dla katalog\u00f3w<\/li>\n<\/ul>\n\n\n\n<p>Warto\u015b\u0107 <strong>umask<\/strong> m\u00f3wi, jakie prawa nale\u017cy <strong>odj\u0105\u0107 (zamaskowa\u0107)<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Sprawdzenie umask<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>umask<\/code><\/pre>\n\n\n\n<p>Cz\u0119sto domy\u015blnie zobaczysz <strong>022<\/strong>, co oznacza:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>w\u0142a\u015bciciel: pe\u0142ne prawa<\/li>\n\n\n\n<li>grupa i inni: bez zapisu (czyli zwykle <strong>odczyt<\/strong>, a dla katalog\u00f3w tak\u017ce <strong>wej\u015bcie\/execute<\/strong>)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Ustawienie nowego umask<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>umask 077<\/code><\/pre>\n\n\n\n<p>To oznacza:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>w\u0142a\u015bciciel: pe\u0142ne prawa<\/li>\n\n\n\n<li>grupa i inni: <strong>brak dost\u0119pu<\/strong><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Umask na sta\u0142e (po restarcie)<\/h3>\n\n\n\n<p><strong>umask<\/strong> jest trzymany w pami\u0119ci, wi\u0119c po restarcie znika. Aby ustawi\u0107 go na sta\u0142e, dodaj go do pliku <strong>.profile<\/strong> w katalogu u\u017cytkownika.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"551\" src=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/profile_umask-1024x551.png\" alt=\"\" class=\"wp-image-1115\" srcset=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/profile_umask-1024x551.png 1024w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/profile_umask-300x161.png 300w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/profile_umask-768x413.png 768w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/profile_umask-585x315.png 585w, https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/profile_umask.png 1028w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Jak czyta\u0107 warto\u015bci umask?<\/h3>\n\n\n\n<p><em>W umask ustawiasz warto\u015bci, kt\u00f3re odejmujesz od maksymalnych uprawnie\u0144:<\/em><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>0<\/strong> \u2013 nic nie odejmuj<\/li>\n\n\n\n<li><strong>1<\/strong> \u2013 odejmij <strong>x<\/strong><\/li>\n\n\n\n<li><strong>2<\/strong> \u2013 odejmij <strong>w<\/strong><\/li>\n\n\n\n<li><strong>3<\/strong> \u2013 odejmij <strong>w<\/strong> i <strong>x<\/strong><\/li>\n\n\n\n<li><strong>4<\/strong> \u2013 odejmij <strong>r<\/strong><\/li>\n\n\n\n<li><strong>5<\/strong> \u2013 odejmij <strong>r<\/strong> i <strong>x<\/strong><\/li>\n\n\n\n<li><strong>6<\/strong> \u2013 odejmij <strong>r<\/strong> i <strong>w<\/strong><\/li>\n\n\n\n<li><strong>7<\/strong> \u2013 odejmij <strong>r<\/strong>, <strong>w<\/strong> i <strong>x<\/strong><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kontynuuj\u0105c analogi\u0119 metropolii z poprzedniego artyku\u0142u, do\u0142\u00f3\u017cmy kolejn\u0105 cegie\u0142k\u0119: uprawnienia. Mo\u017cesz je traktowa\u0107 jak prawa miejskie &#8211; okre\u015blaj\u0105, kto mo\u017ce wprowadza\u0107&hellip;<\/p>\n","protected":false},"author":3,"featured_media":1102,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[26],"tags":[32,39],"class_list":["post-1095","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-linux","tag-uprawnienia"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Uprawnienia w Linuksie - SudoIT<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Uprawnienia w Linuksie - SudoIT\" \/>\n<meta property=\"og:description\" content=\"Kontynuuj\u0105c analogi\u0119 metropolii z poprzedniego artyku\u0142u, do\u0142\u00f3\u017cmy kolejn\u0105 cegie\u0142k\u0119: uprawnienia. Mo\u017cesz je traktowa\u0107 jak prawa miejskie &#8211; okre\u015blaj\u0105, kto mo\u017ce wprowadza\u0107&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/\" \/>\n<meta property=\"og:site_name\" content=\"SudoIT\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-09T15:37:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-09T17:45:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia-1-1024x683.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Patryk\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Patryk\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/\"},\"author\":{\"name\":\"Patryk\",\"@id\":\"https:\\\/\\\/sudoit.pl\\\/#\\\/schema\\\/person\\\/62b95033a7a8937fbb692e81d5e0b8bd\"},\"headline\":\"Uprawnienia w Linuksie\",\"datePublished\":\"2026-01-09T15:37:45+00:00\",\"dateModified\":\"2026-01-09T17:45:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/\"},\"wordCount\":1029,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sudoit.pl\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/uprawnienia-1.png\",\"keywords\":[\"linux\",\"uprawnienia\"],\"articleSection\":[\"Linux\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/\",\"url\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/\",\"name\":\"Uprawnienia w Linuksie - SudoIT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sudoit.pl\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/sudoit.pl\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/uprawnienia-1.png\",\"datePublished\":\"2026-01-09T15:37:45+00:00\",\"dateModified\":\"2026-01-09T17:45:08+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/sudoit.pl\\\/#\\\/schema\\\/person\\\/62b95033a7a8937fbb692e81d5e0b8bd\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/#primaryimage\",\"url\":\"https:\\\/\\\/sudoit.pl\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/uprawnienia-1.png\",\"contentUrl\":\"https:\\\/\\\/sudoit.pl\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/uprawnienia-1.png\",\"width\":1536,\"height\":1024},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/2026\\\/01\\\/09\\\/uprawnienia-w-linuksie\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sudoit.pl\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Uprawnienia w Linuksie\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sudoit.pl\\\/#website\",\"url\":\"https:\\\/\\\/sudoit.pl\\\/\",\"name\":\"SudoIT\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sudoit.pl\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sudoit.pl\\\/#\\\/schema\\\/person\\\/62b95033a7a8937fbb692e81d5e0b8bd\",\"name\":\"Patryk\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d933a3eef1e4f0026a85747cca61f1ae9043bf2753554c0427f1a2dc8ca46096?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d933a3eef1e4f0026a85747cca61f1ae9043bf2753554c0427f1a2dc8ca46096?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d933a3eef1e4f0026a85747cca61f1ae9043bf2753554c0427f1a2dc8ca46096?s=96&d=mm&r=g\",\"caption\":\"Patryk\"},\"url\":\"https:\\\/\\\/sudoit.pl\\\/index.php\\\/author\\\/patryk\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Uprawnienia w Linuksie - SudoIT","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/","og_locale":"en_US","og_type":"article","og_title":"Uprawnienia w Linuksie - SudoIT","og_description":"Kontynuuj\u0105c analogi\u0119 metropolii z poprzedniego artyku\u0142u, do\u0142\u00f3\u017cmy kolejn\u0105 cegie\u0142k\u0119: uprawnienia. Mo\u017cesz je traktowa\u0107 jak prawa miejskie &#8211; okre\u015blaj\u0105, kto mo\u017ce wprowadza\u0107&hellip;","og_url":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/","og_site_name":"SudoIT","article_published_time":"2026-01-09T15:37:45+00:00","article_modified_time":"2026-01-09T17:45:08+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia-1-1024x683.png","type":"image\/png"}],"author":"Patryk","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Patryk","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/#article","isPartOf":{"@id":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/"},"author":{"name":"Patryk","@id":"https:\/\/sudoit.pl\/#\/schema\/person\/62b95033a7a8937fbb692e81d5e0b8bd"},"headline":"Uprawnienia w Linuksie","datePublished":"2026-01-09T15:37:45+00:00","dateModified":"2026-01-09T17:45:08+00:00","mainEntityOfPage":{"@id":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/"},"wordCount":1029,"commentCount":0,"image":{"@id":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/#primaryimage"},"thumbnailUrl":"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia-1.png","keywords":["linux","uprawnienia"],"articleSection":["Linux"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/","url":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/","name":"Uprawnienia w Linuksie - SudoIT","isPartOf":{"@id":"https:\/\/sudoit.pl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/#primaryimage"},"image":{"@id":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/#primaryimage"},"thumbnailUrl":"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia-1.png","datePublished":"2026-01-09T15:37:45+00:00","dateModified":"2026-01-09T17:45:08+00:00","author":{"@id":"https:\/\/sudoit.pl\/#\/schema\/person\/62b95033a7a8937fbb692e81d5e0b8bd"},"breadcrumb":{"@id":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/#primaryimage","url":"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia-1.png","contentUrl":"https:\/\/sudoit.pl\/wp-content\/uploads\/2026\/01\/uprawnienia-1.png","width":1536,"height":1024},{"@type":"BreadcrumbList","@id":"https:\/\/sudoit.pl\/index.php\/2026\/01\/09\/uprawnienia-w-linuksie\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sudoit.pl\/"},{"@type":"ListItem","position":2,"name":"Uprawnienia w Linuksie"}]},{"@type":"WebSite","@id":"https:\/\/sudoit.pl\/#website","url":"https:\/\/sudoit.pl\/","name":"SudoIT","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sudoit.pl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/sudoit.pl\/#\/schema\/person\/62b95033a7a8937fbb692e81d5e0b8bd","name":"Patryk","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d933a3eef1e4f0026a85747cca61f1ae9043bf2753554c0427f1a2dc8ca46096?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d933a3eef1e4f0026a85747cca61f1ae9043bf2753554c0427f1a2dc8ca46096?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d933a3eef1e4f0026a85747cca61f1ae9043bf2753554c0427f1a2dc8ca46096?s=96&d=mm&r=g","caption":"Patryk"},"url":"https:\/\/sudoit.pl\/index.php\/author\/patryk\/"}]}},"_links":{"self":[{"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/posts\/1095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/comments?post=1095"}],"version-history":[{"count":6,"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/posts\/1095\/revisions"}],"predecessor-version":[{"id":1116,"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/posts\/1095\/revisions\/1116"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/media\/1102"}],"wp:attachment":[{"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/media?parent=1095"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/categories?post=1095"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sudoit.pl\/index.php\/wp-json\/wp\/v2\/tags?post=1095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}