Advanced Permissions in Linux

Hein Htet WinHein Htet Win
3 min read

๐€๐๐ฏ๐š๐ง๐œ๐ž๐ ๐Ÿ๐ข๐ฅ๐ž ๐ฉ๐ž๐ซ๐ฆ๐ข๐ฌ๐ฌ๐ข๐จ๐ง๐ฌ ๐ข๐ง ๐‹๐ข๐ง๐ฎ๐ฑ

แ€Ÿแ€ญแ€ฏแ€แ€…แ€บโ€‹แ€”แ€ฑแ€ทแ€€โ€‹แ€แ€ฑแ€ฌแ€ท แ€€แ€ปแ€ฝแ€”แ€บโ€‹แ€แ€ฑแ€ฌแ€บแ€แ€ญแ€ฏแ€ท Linux แ€™แ€พแ€ฌแ€›แ€พแ€ญแ€แ€ฒแ€ท standard file permissions โ€‹แ€แ€ฝแ€ฑแ€กโ€‹แ€€แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธโ€‹แ€•แ€ผแ€ฑแ€ฌแ€แ€ฒแ€ทแ€•แ€ซแ€แ€šแ€บแ‹ แ€’แ€ฎแ€แ€…แ€บโ€‹แ€แ€ฑแ€ซแ€€แ€บแ€™แ€พแ€ฌโ€‹แ€แ€ฑแ€ฌแ€ท Linux แ€™แ€พแ€ฌแ€›แ€พแ€ญแ€แ€ฒแ€ท advanced file permissions โ€‹แ€แ€ฝแ€ฑแ€กโ€‹แ€€แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธ sharing แ€œแ€ฏแ€•แ€บแ€žแ€ฝแ€ฌแ€ธแ€•แ€ซแ€™แ€šแ€บแ‹

โœ… ๐’๐ž๐ญ ๐”๐ˆ๐ƒ

แ€’แ€ฎ section แ€™แ€พแ€ฌ set uid แ€†แ€ญแ€ฏแ€แ€ฌแ€˜แ€ฌแ€œแ€ฒแŠ แ€˜แ€šแ€บแ€œแ€ญแ€ฏ permission โ€‹แ€•แ€ฑแ€ธแ€›แ€™แ€œแ€ฒแ€†แ€ญแ€ฏแ€แ€ฌแ€€แ€ญแ€ฏ แ€™โ€‹แ€•แ€ผแ€ฑแ€ฌแ€แ€„แ€บ แ€€แ€ปแ€ฝแ€”แ€บโ€‹แ€แ€ฑแ€ฌแ€บโ€‹แ€›แ€ฑแ€ธแ€žแ€ฝแ€ฌแ€ธแ€™แ€šแ€บแ€ทแ€•แ€ฏแ€ถแ€…แ€ถแ€€แ€ญแ€ฏ แ€กแ€›แ€„แ€บโ€‹แ€•แ€ผแ€ฑแ€ฌแ€•แ€ซแ€™แ€šแ€บแ‹ แ€’แ€ฎ special permission โ€‹แ€แ€ฝแ€ฑแ€€แ€ญแ€ฏ แ€žแ€ฌแ€™แ€”แ€บ files โ€‹แ€แ€ฝแ€ฑแ€™แ€พแ€ฌ โ€‹แ€•แ€ฑแ€ธแ€แ€ฌแ€”แ€ฒแ€ท directory โ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌ โ€‹แ€•แ€ฑแ€ธแ€แ€ฌแ€”แ€ฒแ€ทแ€˜แ€ฌแ€€แ€ฝแ€ฌแ€œแ€ฒ แ€†แ€ญแ€ฏแ€แ€ฌแ€€แ€ญแ€ฏ แ‚แ€•แ€ญแ€ฏแ€„แ€บแ€ธแ€แ€ฝแ€ฒแ€•แ€ผแ€ฎแ€ธ โ€‹แ€›แ€ฑแ€ธแ€žแ€ฝแ€ฌแ€ธแ€•แ€ซแ€™แ€šแ€บแ‹

โœ… ๐’๐”๐ˆ๐ƒ ๐จ๐ง ๐ง๐จ๐ซ๐ฆ๐š๐ฅ ๐Ÿ๐ข๐ฅ๐ž๐ฌ

แ€’แ€ฎ set uid bit แ€€แ€ญแ€ฏ แ€›แ€ญแ€ฏแ€ธแ€›แ€ญแ€ฏแ€ธ normal files โ€‹แ€แ€ฝแ€ฑแ€™แ€พแ€ฌ แ€˜แ€šแ€บแ€œแ€ญแ€ฏแ€‘แ€Šแ€บแ€ทแ€›แ€™แ€œแ€ฒแ€†แ€ญแ€ฏโ€‹แ€แ€ฑแ€ฌแ€ท ๐œ๐ก๐ฆ๐จ๐ ๐ฎ+๐ฌ แ€†แ€ญแ€ฏแ€•แ€ผแ€ฎแ€ธโ€‹แ€”แ€ฑแ€ฌแ€€แ€บแ€™แ€พแ€ฌ แ€€แ€ญแ€ฏแ€šแ€บแ€‘แ€Šแ€บแ€ทแ€แ€ปแ€„แ€บแ€แ€ฒแ€ท file แ€›แ€ฒแ€ท path แ€€แ€ญแ€ฏแ€‘แ€Šแ€บแ€ทโ€‹แ€•แ€ฑแ€ธแ€›แ€•แ€ซแ€™แ€šแ€บแ‹ แ€žแ€ฐแ€€แ€˜แ€ฌแ€œแ€ฏแ€•แ€บโ€‹แ€•แ€ฑแ€ธแ€แ€ฌแ€œแ€ฒแ€†แ€ญแ€ฏโ€‹แ€แ€ฑแ€ฌแ€ท แ€žแ€ฌแ€™แ€”แ€บ แ€€แ€ปแ€ฝแ€”แ€บโ€‹แ€แ€ฑแ€ฌแ€บแ€แ€ญแ€ฏแ€ท user แ€แ€…แ€บโ€‹แ€šแ€ฑแ€ฌแ€€แ€บแ€€ file แ€แ€…แ€บแ€แ€ฏแ€€แ€ญแ€ฏ read แ€•แ€ผแ€ฎแ€‘แ€ฌแ€ธแ€•แ€ซโ€‹แ€แ€ฑแ€ฌแ€ทแŠ แ€’แ€ซแ€†แ€ญแ€ฏ Linux แ€€แ€…แ€…แ€บแ€•แ€ซแ€œแ€ญแ€™แ€บแ€ทแ€™แ€šแ€บแŠ แ€’แ€ฎ user แ€€ file แ€›แ€ฒแ€ท owner แ€œแ€ฌแ€ธแŠ แ€’แ€ซแ€™แ€พแ€™แ€Ÿแ€ฏแ€แ€บ group owner แ€‘แ€ฒแ€™แ€พแ€ฌแ€•แ€ซแ€œแ€ฌแ€ธแŠ แ€’แ€ซแ€™แ€พแ€™แ€Ÿแ€ฏแ€แ€บ others user แ€œแ€ฌแ€ธแ€†แ€ญแ€ฏแ€•แ€ผแ€ฎแ€ธ แ€…แ€…แ€บแ€•แ€ซแ€œแ€ญแ€™แ€ทแ€™แ€šแ€บแ‹ แ€•แ€ผแ€ฎแ€ธโ€‹แ€แ€ฑแ€ฌแ€ทแ€™แ€พ แ€‘แ€ฌแ€ธแ€•แ€ซแ€…แ€ญแ€ฏแ€ท แ€’แ€ฎ run แ€แ€ปแ€„แ€บแ€แ€ฒแ€ท user แ€€ owner แ€œแ€Šแ€บแ€ธแ€™แ€Ÿแ€ฏแ€แ€บแ€˜แ€ฐแ€ธแŠ group owner แ€‘แ€ฒแ€œแ€Šแ€บแ€ธแ€™แ€•แ€ซแ€˜แ€ฐแ€ธแŠ แ€’แ€ซแ€†แ€ญแ€ฏ แ€’แ€ฎโ€‹แ€€แ€ฑแ€ฌแ€„แ€บแ€€ others แ€‘แ€ฒแ€™แ€พแ€ฌแ€กแ€€แ€ผแ€ฏแ€ถแ€ธแ€แ€„แ€บแ€แ€šแ€บแŠ แ€กแ€ฒแ€ทโ€‹แ€แ€ฑแ€ฌแ€ท others แ€€แ€ญแ€ฏ แ€˜แ€ฌ permissions โ€‹แ€แ€ฝแ€ฑโ€‹แ€•แ€ฑแ€ธแ€‘แ€ฌแ€ธแ€œแ€Šแ€บแ€ธแ€€แ€ผแ€Šแ€บแ€ทแ€™แ€šแ€บแŠ แ€กแ€€แ€šแ€บแ read permission แ€•แ€ซแ€แ€šแ€บแ€†แ€ญแ€ฏแ€›แ€„แ€บโ€‹แ€แ€ฑแ€ฌแ€ท แ€–แ€แ€บแ€œแ€ญแ€ฏแ€ทแ€›แ€™แ€šแ€บ user แ€€แ€’แ€ฎแ€žแ€ฐแ€–แ€แ€บแ€แ€ปแ€„แ€บแ€แ€ฒแ€ท file แ€€แ€ญแ€ฏแŠ แ€’แ€ซโ€‹แ€•แ€ฑแ€™แ€ฒแ€ท แ€’แ€ฎ particular user แ€›แ€ฒแ€ท privilege แ€”แ€ฒแ€ทแ€•แ€ฒ แ€’แ€ฎ file แ€€แ€ญแ€ฏ run แ€œแ€ญแ€ฏแ€ทแ€›แ€™แ€šแ€บแ‹ แ€’แ€ฎแ€œแ€ญแ€ฏแ€•แ€ฏแ€ถแ€…แ€ถแ€™แ€ปแ€ญแ€ฏแ€ธแ€žแ€ฝแ€ฌแ€ธแ€•แ€ซแ€แ€šแ€บแ‹ แ€’แ€ซโ€‹แ€•แ€ฑแ€™แ€ฒแ€ท แ€แ€ฏแ€แ€€โ€‹แ€•แ€ผแ€ฑแ€ฌแ€แ€ฒแ€ทแ€แ€ฒแ€ท file โ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌแ€•แ€ฒ set uid bit แ€žแ€แ€บแ€™แ€พแ€แ€บโ€‹แ€•แ€ฑแ€ธแ€‘แ€ฌแ€ธแ€แ€šแ€บแ€†แ€ญแ€ฏแ€•แ€ซแ€…แ€ญแ€ฏแ€ทแŠ แ€’แ€ซแ€†แ€ญแ€ฏแ€›แ€„แ€บโ€‹แ€แ€ฑแ€ฌแ€ท แ€’แ€ฎ owner แ€œแ€Šแ€บแ€ธแ€™แ€Ÿแ€ฏแ€แ€บแŠ group owner แ€œแ€Šแ€บแ€ธแ€™แ€Ÿแ€ฏแ€แ€บแ€แ€ฒแ€ท user แ€Ÿแ€ฌแ€’แ€ฎ file แ€€แ€ญแ€ฏ แ€žแ€ฐแ€ทแ€›แ€ฒแ€ท permissions แ€”แ€ฒแ€ทแ€•แ€ฒแ€™แ€Ÿแ€ฏแ€แ€บแ€•แ€ฒ แ€’แ€ฎ file แ€€แ€ญแ€ฏแ€แ€…แ€บแ€€แ€šแ€บแ€•แ€ญแ€ฏแ€„แ€บแ€แ€ฒแ€ท owner แ€›แ€ฒแ€ท privileges แ€”แ€ฒแ€ท run แ€œแ€ญแ€ฏแ€ทแ€›แ€žแ€ฝแ€ฌแ€ธแ€™แ€พแ€ฌแ€•แ€ซแ‹ แ€กแ€ฒแ€ทโ€‹แ€แ€ฑแ€ฌแ€ทโ€‹แ€•แ€ผแ€ฑแ€ฌแ€แ€ปแ€„แ€บแ€แ€ฌแ€€ แ€’แ€ฎ script file แ€œแ€ญแ€ฏแ€™แ€ปแ€ญแ€ฏแ€ธแ€แ€…แ€บแ€แ€ฏแ€€แ€ญแ€ฏ root แ€€แ€•แ€ญแ€ฏแ€„แ€บแ€แ€šแ€บแ€†แ€ญแ€ฏ แ€กแ€ฒแ€ทโ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌ suid bit แ€›แ€พแ€ญโ€‹แ€”แ€ฑแ€™แ€šแ€บแ€†แ€ญแ€ฏ privilege escalation แ€œแ€ญแ€ฏแ€™แ€ปแ€ญแ€ฏแ€ธ security vulnerability โ€‹แ€แ€ฝแ€ฑแ€™แ€ปแ€ญแ€ฏแ€ธแ€–แ€ผแ€…แ€บแ€”แ€ญแ€ฏแ€„แ€บแ€•แ€ซแ€แ€šแ€บแ‹ แ€’แ€ซแ€ทโ€‹แ€€แ€ผแ€ฑแ€ฌแ€„แ€บแ€ทแ€˜แ€šแ€บ files โ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌ แ€’แ€ฎ SUID permission โ€‹แ€•แ€ฑแ€ธแ€™แ€œแ€ฒแ€†แ€ญแ€ฏแ€แ€ฌแ€€แ€ญแ€ฏ โ€‹แ€žแ€ฑแ€แ€ปแ€ฌแ€…แ€ฅแ€บแ€ธแ€…แ€ฌแ€ธแ€›แ€•แ€ซแ€™แ€šแ€บแ‹ default แ€กโ€‹แ€”แ€ฑแ€”แ€ฒแ€ทโ€‹แ€แ€ฑแ€ฌแ€ท sudo command แ€แ€ญแ€ฏแ€ท passwd command แ€แ€ญแ€ฏแ€ทแ€›แ€ฒแ€ท binary file โ€‹แ€แ€ฝแ€ฑแ€™แ€พแ€ฌ set uid bit แ€•แ€ซแ€•แ€ซแ€แ€šแ€บแ‹ แ€กแ€ฒแ€ทแ€แ€ฌแ€™แ€พ แ€€แ€ปแ€ฝแ€”แ€บโ€‹แ€แ€ฑแ€ฌแ€บแ€แ€ญแ€ฏแ€ทแ€€ แ€žแ€ฌแ€™แ€”แ€บ user แ€€โ€‹แ€”แ€ฑ sudo แ€›แ€ญแ€ฏแ€€แ€บแ€•แ€ผแ€ฎแ€ธ root แ€กโ€‹แ€”แ€ฑแ€”แ€ฒแ€ท command โ€‹แ€แ€ฝแ€ฑ run แ€”แ€ญแ€ฏแ€„แ€บโ€‹แ€กแ€ฑแ€ฌแ€„แ€บแ€•แ€ซแ‹ แ€’แ€ฎ SUID แ€€แ€ญแ€ฏ octal แ€กโ€‹แ€”แ€ฑแ€”แ€ฒแ€ทแ€œแ€Šแ€บแ€ธแ€‘แ€Šแ€บแ€ทแ€œแ€ญแ€ฏแ€ทแ€›แ€•แ€ซโ€‹แ€žแ€ฑแ€ธแ€แ€šแ€บแ‹

๐„.๐ . ๐œ๐ก๐ฆ๐จ๐ ๐Ÿ’๐Ÿ•๐Ÿ“๐Ÿ“ <๐Ÿ๐ข๐ฅ๐ž-๐ง๐š๐ฆ๐ž> แ€†แ€ญแ€ฏแ€แ€ฒแ€ทแ€•แ€ฏแ€ถแ€™แ€ปแ€ญแ€ฏแ€ธแ€”แ€ฒแ€ทแ€‘แ€Šแ€บแ€ทแ€œแ€ญแ€ฏแ€ทแ€›แ€•แ€ซแ€แ€šแ€บแ‹ โ€‹แ€›แ€พแ€ฑแ€ทแ€†แ€ฏแ€ถแ€ธแ€€ 4 แ€€ SUID แ€€แ€ญแ€ฏแ€€แ€ญแ€ฏแ€šแ€บแ€…แ€ฌแ€ธแ€•แ€ผแ€ฏแ€•แ€ซแ€แ€šแ€บแ‹

โœ… ๐’๐”๐ˆ๐ƒ ๐จ๐ง ๐๐ข๐ซ๐ž๐œ๐ญ๐จ๐ซ๐ข๐ž๐ฌ

Set UID แ€€แ€ญแ€ฏ directory โ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌโ€‹แ€•แ€ฑแ€ธแ€แ€ฌแ€€โ€‹แ€แ€ฑแ€ฌแ€ท แ€˜แ€ฌ effects แ€™แ€พแ€™แ€›แ€พแ€ญแ€•แ€ซแ€˜แ€ฐแ€ธแ‹ shell แ€€ neglect แ€œแ€ฏแ€•แ€บแ€žแ€ฝแ€ฌแ€ธแ€™แ€พแ€ฌแ€•แ€ซแ‹

โœ… ๐’๐†๐ˆ๐ƒ ๐จ๐ง ๐ง๐จ๐ซ๐ฆ๐š๐ฅ ๐Ÿ๐ข๐ฅ๐ž๐ฌ

แ€Ÿแ€ฏแ€แ€บแ€•แ€ผแ€ฎแŠ แ€€แ€ปแ€ฝแ€”แ€บโ€‹แ€แ€ฑแ€ฌแ€บแ€แ€ญแ€ฏแ€ท SUID แ€กโ€‹แ€€แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธโ€‹โ€‹แ€•แ€ผแ€ฑแ€ฌแ€•แ€ผแ€ฎแ€ธแ€•แ€ผแ€ฎ แ€†แ€ญแ€ฏโ€‹แ€แ€ฑแ€ฌแ€ท SGID แ€กโ€‹แ€€แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธแ€†แ€€แ€บแ€€แ€ผแ€Šแ€บแ€ทแ€œแ€ญแ€ฏแ€€แ€บแ€›โ€‹แ€กแ€ฑแ€ฌแ€„แ€บแ‹ Set GID bit แ€€แ€ญแ€ฏ normal files โ€‹แ€แ€ฝแ€ฑโ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌ permission โ€‹แ€•แ€ฑแ€ธแ€‘แ€ฌแ€ธแ€™แ€šแ€บแ€†แ€ญแ€ฏแ€›แ€„แ€บ แ€˜แ€ฌแ€œแ€ฏแ€•แ€บโ€‹แ€•แ€ฑแ€ธแ€œแ€ฒแ€†แ€ญแ€ฏโ€‹แ€แ€ฑแ€ฌแ€ท แ€žแ€ฐแ€€แ€œแ€Šแ€บแ€ธ SUID แ€œแ€ญแ€ฏแ€•แ€ซแ€•แ€ฒแŠ แ€’แ€ฎ file แ€€แ€ญแ€ฏแ€œแ€ฌ run แ€แ€ฒแ€ท user แ€›แ€ฒแ€ท permissions แ€”แ€ฒแ€ทแ€™แ€Ÿแ€ฏแ€แ€บแ€•แ€ฒ แ€’แ€ฎ file แ€€แ€ญแ€ฏแ€•แ€ญแ€ฏแ€„แ€บแ€แ€ฒแ€ท group owner โ€‹แ€แ€ฝแ€ฑแ€›แ€ฒแ€ท permissions แ€”แ€ฒแ€ท run โ€‹แ€•แ€ฑแ€ธแ€™แ€พแ€ฌแ€•แ€ซแ‹ แ€’แ€ฎ SGID bit แ€€แ€ญแ€ฏแ€˜แ€šแ€บแ€œแ€ญแ€ฏแ€‘แ€Šแ€บแ€ทแ€™แ€œแ€ฒ แ€†แ€ญแ€ฏแ€แ€ฌแ€€แ€ผแ€Šแ€บแ€ทแ€›โ€‹แ€กแ€ฑแ€ฌแ€„แ€บแŠ แ€”แ€Šแ€บแ€ธ แ‚แ€™แ€ปแ€ญแ€ฏแ€ธแ€”แ€ฒแ€ทแ€‘แ€Šแ€บแ€ทแ€œแ€ญแ€ฏแ€ทแ€›แ€•แ€ซแ€แ€šแ€บแ‹

๐„.๐ .๐Ÿ. ๐œ๐ก๐ฆ๐จ๐ ๐ +๐ฌ <๐ฉ๐š๐ญ๐ก-๐ญ๐จ-๐ฒ๐จ๐ฎ๐ซ-๐Ÿ๐ข๐ฅ๐ž>

๐„.๐ .๐Ÿ. ๐œ๐ก๐ฆ๐จ๐ ๐Ÿ๐Ÿ•๐Ÿ“๐Ÿ“ <๐ฉ๐š๐ญ๐ก-๐ญ๐จ-๐ฒ๐จ๐ฎ๐ซ-๐Ÿ๐ข๐ฅ๐ž> แ€•แ€‘แ€™แ€†แ€ฏแ€ถแ€ธ 2 แ€†แ€ญแ€ฏแ€แ€ฒแ€ท octal representation แ€€ SGID bit แ€€แ€ญแ€ฏแ€€แ€ญแ€ฏแ€šแ€บแ€…แ€ฌแ€ธแ€•แ€ผแ€ฏแ€•แ€ซแ€แ€šแ€บแ‹ SUID โ€‹แ€€แ€ฑแ€ฌ SGID โ€‹แ€€แ€ฑแ€ฌ file แ€แ€…แ€บแ€แ€ฏแ€‘แ€ฒแ€™แ€พแ€ฌแ€‘แ€Šแ€บแ€ทแ€แ€ปแ€„แ€บแ€›แ€„แ€บแ€œแ€Šแ€บแ€ธ แ€’แ€ฎแ€œแ€ญแ€ฏแ€žแ€ฏแ€ถแ€ธแ€œแ€ญแ€ฏแ€ทแ€›แ€•แ€ซแ€แ€šแ€บแ‹

๐„.๐ . ๐œ๐ก๐ฆ๐จ๐ ๐Ÿ”๐Ÿ•๐Ÿ“๐Ÿ“ <๐ฉ๐š๐ญ๐ก-๐ญ๐จ-๐ฒ๐จ๐ฎ๐ซ-๐Ÿ๐ข๐ฅ๐ž> SUID แ€›แ€ฒแ€ท 4 แ€”แ€ฒแ€ท SGID 2 values แ‚แ€แ€ฏโ€‹แ€•แ€ฑแ€ซแ€„แ€บแ€ธแ€•แ€ผแ€ฎแ€ธโ€‹แ€›แ€พแ€ฑแ€ทแ€†แ€ฏแ€ถแ€ธ bit แ€™แ€พแ€ฌ 6 แ€–แ€ผแ€…แ€บแ€žแ€ฝแ€ฌแ€ธแ€แ€ฌแ€•แ€ซแ‹ read, write, execute โ€‹แ€•แ€ฑแ€ซแ€„แ€บแ€ธแ€œแ€ญแ€ฏแ€€แ€บแ€›แ€„แ€บ 7 แ€–แ€ผแ€…แ€บแ€แ€ฌแ€”แ€ฒแ€ท แ€žโ€‹แ€˜แ€ฑแ€ฌแ€แ€›แ€ฌแ€ธ แ€แ€ฐแ€แ€ฐแ€•แ€ซแ€•แ€ฒแ‹

โœ… ๐’๐†๐ˆ๐ƒ ๐จ๐ง ๐๐ข๐ซ๐ž๐œ๐ญ๐จ๐ซ๐ข๐ž๐ฌ
แ€’แ€ฎ SGID permission แ€€แ€ญแ€ฏ directory แ€แ€…แ€บแ€แ€ฏโ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌ โ€‹แ€•แ€ฑแ€ธแ€™แ€šแ€บแ€†แ€ญแ€ฏแ€›แ€„แ€บโ€‹แ€›แ€ฑแ€ฌ แ€˜แ€ฌโ€‹แ€แ€ฝแ€ฑโ€‹แ€•แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธแ€œแ€ฒแ€žแ€ฝแ€ฌแ€ธแ€™แ€œแ€ฒ แ€€แ€ผแ€Šแ€บแ€ทแ€›โ€‹แ€กแ€ฑแ€ฌแ€„แ€บแ‹ แ€•แ€ฏแ€ถแ€™แ€พแ€”แ€บแ€†แ€ญแ€ฏแ€›แ€„แ€บ แ€€แ€ปแ€ฝแ€”แ€บโ€‹แ€แ€ฑแ€ฌแ€บแ€แ€ญแ€ฏแ€ทแ€€ file แ€กแ€žแ€…แ€บแ€แ€…แ€บแ€แ€ฏ แ€’แ€ซแ€™แ€พแ€™แ€Ÿแ€ฏแ€แ€บ directory แ€แ€…แ€บแ€แ€ฏ create แ€•แ€ผแ€ฎแ€‘แ€ฌแ€ธแ€•แ€ซโ€‹แ€แ€ฑแ€ฌแ€ทแŠ แ€€แ€ปแ€ฝแ€”แ€บโ€‹แ€แ€ฑแ€ฌแ€บแ€แ€ญแ€ฏแ€ท chown or chgrp command แ€žแ€ฏแ€ถแ€ธแ€•แ€ผแ€ฎแ€ธ group owner แ€™โ€‹แ€•แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธแ€‘แ€ฌแ€ธแ€˜แ€ฐแ€ธแ€†แ€ญแ€ฏแ€›แ€„แ€บ แ€’แ€ฎ files โ€‹แ€แ€ฝแ€ฑแ€›แ€ฒแ€ท group owner แ€€ user owner แ€›แ€ฒแ€ท primary group แ€•แ€ฒ แ€–แ€ผแ€…แ€บโ€‹แ€”แ€ฑแ€™แ€พแ€ฌแ€•แ€ซแ‹ แ€’แ€ซโ€‹แ€•แ€ฑแ€™แ€ฒแ€ท SGID bit แ€€แ€ญแ€ฏ Directory โ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌ set แ€‘แ€ฌแ€ธแ€แ€šแ€บแ€†แ€ญแ€ฏแ€›แ€„แ€บโ€‹แ€แ€ฑแ€ฌแ€ท แ€กแ€ฒแ€ท directory โ€‹แ€กแ€ฑแ€ฌแ€€แ€บแ€™แ€พแ€ฌ แ€กแ€žแ€…แ€บแ€‘แ€•แ€บ create แ€™แ€ฒแ€ท sub directories โ€‹แ€แ€ฝแ€ฑแŠ normal files โ€‹แ€แ€ฝแ€ฑแ€›แ€ฒแ€ท group owner แ€€ แ€’แ€ฎ parent directory แ€™แ€พแ€ฌแ€›แ€พแ€ญแ€แ€ฒแ€ท group owner แ€†แ€ฎแ€€โ€‹แ€”แ€ฑ inherit แ€œแ€ฏแ€•แ€บแ€žแ€ฝแ€ฌแ€ธแ€™แ€พแ€ฌแ€•แ€ฒ แ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บแ‹ แ€†แ€ญแ€ฏแ€œแ€ญแ€ฏแ€แ€ฌแ€žแ€Šแ€บ แ€’แ€ฎ files โ€‹แ€แ€ฝแ€ฑแ€€แ€ญแ€ฏแ€‘แ€•แ€บ create แ€œแ€ฏแ€•แ€บแ€แ€ฒแ€ท user owner แ€›แ€ฒแ€ท group แ€™แ€Ÿแ€ฏแ€แ€บโ€‹แ€แ€ฑแ€ฌแ€ทแ€˜แ€ฒ แ€’แ€ฎ parent directory แ€›แ€ฒแ€ท group owner แ€•แ€ฒแ€–แ€ผแ€…แ€บแ€žแ€ฝแ€ฌแ€ธแ€™แ€พแ€ฌแ€•แ€ซแ‹

๐„.๐ . ๐œ๐ก๐ฆ๐จ๐ ๐ +๐ฌ <๐ฉ๐š๐ญ๐ก-๐ญ๐จ-๐ฒ๐จ๐ฎ๐ซ-๐๐ข๐ซ>

โœ… ๐’๐ญ๐ข๐œ๐ค๐ฒ ๐›๐ข๐ญ ๐จ๐ง ๐Ÿ๐ข๐ฅ๐ž๐ฌ

Sticky bits permission แ€€แ€ญแ€ฏ normal files โ€‹แ€แ€ฝแ€ฑโ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌ แ€‘แ€ฌแ€ธแ€™แ€šแ€บแ€†แ€ญแ€ฏแ€›แ€„แ€บโ€‹แ€แ€ฑแ€ฌแ€ท แ€˜แ€ฌ effects แ€™แ€พแ€›แ€พแ€ญแ€™แ€พแ€ฌแ€™แ€Ÿแ€ฏแ€แ€บแ€•แ€ซแ€˜แ€ฐแ€ธแ‹ shell แ€€ execute แ€œแ€ฏแ€•แ€บแ€แ€ฒแ€ทแ€กแ€แ€ปแ€ญแ€”แ€บแ€™แ€พแ€ฌ neglect แ€œแ€ฏแ€•แ€บแ€žแ€ฝแ€ฌแ€ธแ€™แ€พแ€ฌแ€•แ€ซแ‹

โœ… ๐’๐ญ๐ข๐œ๐ค๐ฒ ๐›๐ข๐ญ๐ฌ ๐จ๐ง ๐๐ข๐ซ๐ž๐œ๐ญ๐จ๐ซ๐ข๐ž๐ฌ

แ€’แ€ฎ sticky bit permission แ€€แ€ญแ€ฏ directory level แ€™แ€พแ€ฌ แ€‘แ€ฌแ€ธแ€™แ€šแ€บแ€†แ€ญแ€ฏ แ€˜แ€ฌ effects โ€‹แ€แ€ฝแ€ฑแ€›แ€พแ€ญแ€™แ€œแ€ฒ แ€€แ€ผแ€Šแ€บแ€ทแ€€แ€ผแ€Šแ€บแ€ทแ€›โ€‹แ€กแ€ฑแ€ฌแ€„แ€บแ‹ แ€•แ€ฏแ€ถแ€™แ€พแ€”แ€บแ€€แ€ปแ€ฝแ€”แ€บโ€‹แ€แ€ฑแ€ฌแ€บแ€แ€ญแ€ฏแ€ท directory แ€แ€…แ€บแ€แ€ฏแ€›แ€พแ€ญแ€แ€šแ€บแ€†แ€ญแ€ฏแ€•แ€ซแ€…แ€ญแ€ฏแ€ทแ‹ แ€’แ€ฎ directory แ€›แ€ฒแ€ท group owner แ€‘แ€ฒแ€€ users โ€‹แ€แ€ฝแ€ฑแ€Ÿแ€ฌ แ€’แ€ฎ directory โ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌ files โ€‹แ€แ€ฝแ€ฑแ€€แ€ญแ€ฏ read and write แ€œแ€ฏแ€•แ€บแ€”แ€ญแ€ฏแ€„แ€บแ€แ€šแ€บแ€‘แ€ฌแ€ธแ€•แ€ซโ€‹แ€แ€ฑแ€ฌแ€ทแŠ แ€กแ€ฒแ€ทแ€™แ€พแ€ฌ user แ€แ€…แ€บโ€‹แ€šแ€ฑแ€ฌแ€€แ€บแ€€ create แ€œแ€ฏแ€•แ€บแ€žแ€ฝแ€ฌแ€ธแ€แ€ฒแ€ท file แ€€แ€ญแ€ฏ แ€กแ€ฒแ€ท group แ€‘แ€ฒแ€™แ€พแ€ฌแ€›แ€พแ€ญแ€แ€ฒแ€ท แ€แ€…แ€บแ€แ€ผแ€ฌแ€ธ user แ€แ€…แ€บโ€‹แ€šแ€ฑแ€ฌแ€€แ€บแ€€ write permission แ€™แ€›แ€พแ€ญแ€›แ€„แ€บโ€‹แ€แ€ฑแ€ฌแ€„แ€บ delete แ€œแ€ฏแ€•แ€บแ€œแ€ญแ€ฏแ€€แ€บแ€œแ€ญแ€ฏแ€ทแ€›แ€•แ€ซแ€แ€šแ€บแ‹ sticky bits permission แ€›แ€พแ€ญโ€‹แ€”แ€ฑแ€แ€šแ€บแ€†แ€ญแ€ฏแ€›แ€„แ€บโ€‹แ€แ€ฑแ€ฌแ€ท แ€กแ€ฒแ€ทแ€œแ€ญแ€ฏแ€™แ€›โ€‹แ€แ€ฑแ€ฌแ€ทแ€•แ€ซแ€˜แ€ฐแ€ธแŠ directory แ€‘แ€ฒแ€™แ€พแ€ฌ user แ€แ€…แ€บโ€‹แ€šแ€ฑแ€ฌแ€€แ€บ create แ€œแ€ฏแ€•แ€บแ€‘แ€ฌแ€ธแ€แ€ฒแ€ท file แ€€แ€ญแ€ฏ delete แ€œแ€ฏแ€•แ€บแ€แ€ปแ€„แ€บแ€แ€šแ€บแ€†แ€ญแ€ฏแ€›แ€„แ€บ แ€กแ€ฒแ€ท file แ€›แ€ฒแ€ท owner user แ€€แ€•แ€ฒ delete แ€œแ€ฏแ€•แ€บแ€œแ€ญแ€ฏแ€ทแ€›แ€•แ€ซโ€‹แ€แ€ฑแ€ฌแ€ทแ€™แ€šแ€บแ‹ แ€’แ€ซโ€‹แ€•แ€ฑแ€™แ€ฒแ€ทแ€œแ€Šแ€บแ€ธ แ€แ€ปแ€ฝแ€„แ€บแ€ธแ€แ€ปแ€€แ€บโ€‹แ€แ€ฑแ€ฌแ€ทแ€›แ€พแ€ญแ€•แ€ซแ€แ€šแ€บแ‹ แ€˜แ€ฌแ€œแ€ฒแ€†แ€ญแ€ฏโ€‹แ€แ€ฑแ€ฌแ€ท root user แ€’แ€ซแ€™แ€พแ€™แ€Ÿแ€ฏแ€แ€บ แ€กแ€ฒแ€ท parent directory แ€›แ€ฒแ€ท owner user แ€€โ€‹แ€แ€ฑแ€ฌแ€ท แ€’แ€ฎ directory แ€‘แ€ฒแ€™แ€พแ€ฌแ€›แ€พแ€ญแ€แ€ฒแ€ท files โ€‹แ€แ€ฝแ€ฑแ€กแ€€แ€ฏแ€”แ€บแ€œแ€ฏแ€ถแ€ธแ€€แ€ญแ€ฏ delete แ€œแ€ฏแ€•แ€บแ€แ€ปแ€„แ€บแ€›แ€„แ€บ แ€œแ€ฏแ€•แ€บแ€œแ€ญแ€ฏแ€ทแ€›แ€•แ€ซแ€แ€šแ€บแ‹ sticky bit แ€€แ€ญแ€ฏแ€˜แ€šแ€บแ€œแ€ญแ€ฏ แ€‘แ€Šแ€บแ€ทแ€™แ€œแ€ฒแ€†แ€ญแ€ฏแ€แ€ฌ แ€€แ€ผแ€Šแ€บแ€ทแ€œแ€ญแ€ฏแ€€แ€บแ€›โ€‹แ€กแ€ฑแ€ฌแ€„แ€บ...

๐„.๐ . ๐œ๐ก๐ฆ๐จ๐ +๐ญ <๐ฉ๐š๐ญ๐ก-๐ญ๐จ-๐ฒ๐จ๐ฎ๐ซ-๐๐ข๐ซ>

แ€†แ€ญแ€ฏแ€แ€ฒแ€ทแ€•แ€ฏแ€ถแ€…แ€ถแ€™แ€ปแ€ญแ€ฏแ€ธแ€”แ€ฒแ€ทแ€‘แ€Šแ€บแ€ทแ€œแ€ญแ€ฏแ€ทแ€›แ€•แ€ซแ€แ€šแ€บแ‹ แ€กโ€‹แ€•แ€ฑแ€ซแ€บแ€™แ€พแ€ฌแ€œแ€ญแ€ฏแ€•แ€ฒ octal representation แ€”แ€ฒแ€ทแ€‘แ€Šแ€บแ€ทแ€แ€ปแ€„แ€บแ€œแ€Šแ€บแ€ธแ€›แ€•แ€ซแ€แ€šแ€บแ‹ sticky bit แ€›แ€ฒแ€ท equivalent แ€€ 1 แ€•แ€ซแ‹

๐„.๐ . ๐œ๐ก๐ฆ๐จ๐ ๐Ÿ๐Ÿ•๐Ÿ•๐Ÿ“ <๐ฉ๐š๐ญ๐ก-๐ญ๐จ-๐ฒ๐จ๐ฎ๐ซ-๐๐ข๐ซ> แ€†แ€ญแ€ฏแ€•แ€ผแ€ฎแ€ธแ€œแ€Šแ€บแ€ธแ€žแ€ฏแ€ถแ€ธแ€œแ€ญแ€ฏแ€ทแ€›แ€•แ€ซแ€แ€šแ€บแ‹

Linux แ€™แ€พแ€ฌแ€›แ€พแ€ญแ€แ€ฒแ€ท Advanced file permissions โ€‹แ€แ€ฝแ€ฑแ€€โ€‹แ€แ€ฑแ€ฌแ€ท แ€’แ€ซโ€‹แ€แ€ฝแ€ฑแ€•แ€ซแ€•แ€ฒแ‹ แ€–แ€แ€บโ€‹แ€•แ€ฑแ€ธแ€แ€ฒแ€ทแ€žแ€ฐแ€กแ€ฌแ€ธแ€œแ€ฏแ€ถแ€ธแ€€แ€ญแ€ฏ โ€‹แ€€แ€ปแ€ฑแ€ธแ€‡แ€ฐแ€ธแ€แ€„แ€บแ€•แ€ซแ€แ€šแ€บแ‹

0
Subscribe to my newsletter

Read articles from Hein Htet Win directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Hein Htet Win
Hein Htet Win

I am a DevOps Engineer from Yangon, Myanmar. I fell in love with automation and CI/CD. I also enjoy using open-source software and regularly contribute to and participate on webinars. In my spare time, I enjoy playing games with my friends in addition to my job.