rosieblue
article thumbnail
[Linux/Security] root(๋ฃจํŠธ) UID๋Š” ํ•ญ์ƒ 0์ด์–ด์•ผํ• ๊นŒ? + ์ด์— ๊ด€ํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์  + root UID ๋ณ€๊ฒฝ ์‹œ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•

Background - /etc/passwd ํŒŒ์ผ ์ด ํŒŒ์ผ์—์„œ๋Š” ์‚ฌ์šฉ์ž ์ด๋ฆ„, ์•”ํ˜ธ, ๊ทธ๋ฃน ๋“ฑ์˜ ์ •๋ณด๋ฅผ ๋‹ค๋ฃฌ๋‹ค. tail -5 /etc/passwd ๋ช…๋ น์–ด๋กœ ํ•ด๋‹น ํŒŒ์ผ์˜ ๋งˆ์ง€๋ง‰ 5ํ–‰์„ ์ถœ๋ ฅํ•ด ๋ณด์•˜๋‹ค. ํŒŒ์ผ ๋‚ด์šฉ์ด ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ์‚ฌ์šฉ์ž์ด๋ฆ„ : ์•”ํ˜ธ : UID : GID : ๊ทธ ์™ธ ์ •๋ณด : ํ™ˆ ๋””๋ ‰ํ† ๋ฆฌ : ์…ธ (UID, GID๋Š” ๊ฐ๊ฐ ์‚ฌ์šฉ์ž ์•„์ด๋””, ๊ทธ๋ฃน ์•„์ด๋””์˜ ์•ฝ์ž) cf) adduser ๋ช…๋ น์–ด๋กœ ์‚ฌ์šฉ์ž๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ๋”ฐ๋กœ UID์™€ GID๋ฅผ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์ด์ „ ์‚ฌ์šฉ์ž์˜ ์•„์ด๋””์— +1ํ•œ ๊ฐ’์œผ๋กœ ์„ค์ •๋œ๋‹ค. ๊ถ๊ธˆ์ฆ ์ € ํŒŒ์ผ์„ ๋ณด๋‹ค๊ฐ€ ๊ถ๊ธˆํ•ด์ง„๊ฑด๋ฐ root์˜ uid๋Š” ํ•ญ์ƒ 0์ธ๊ฒƒ ๊ฐ™๋‹ค. ํ .. ๊ทธ๋ ‡๋‹ค๋ฉด ์–˜๋Š” ๊ผญ 0์ผ๊นŒ? ์•„๋‹ˆ๋ฉด ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์„๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ƒฅ uid=0์ธ์• ๋กœ ์ ‘๊ทผํ•˜๋ฉด ๋ฃจํŠธ ๋”ฐ๋‚ธ๊ฒƒ๊ณผ ๋™..

article thumbnail
[Linux] ๋Ÿฐ๋ ˆ๋ฒจ, ํƒ€๊ฒŸ

๋Ÿฐ๋ ˆ๋ฒจ์ด๋ž€ ๊ทธ์ € ์–ด๋–ค ๋ชจ๋“œ๋กœ ์ปดํ“จํ„ฐ๋ฅผ ์‹œ์ž‘ํ• ๊นŒ?์— ๊ด€ํ•œ ๋‚ด์šฉ์ด๋ผ๊ณ  ๋ณด๋ฉด๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด init ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” /etc/inittab๋ผ๋Š” ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ์„ ์ฝ์€ ํ›„ ์„ค์ •๋œ ๋Ÿฐ๋ ˆ๋ฒจ์— ๋Œ€ํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ๋ฌด์Šจ ๋Ÿฐ๋ ˆ๋ฒจ๋“ค์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž /lib/systemd/system ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ•œ ํ›„ "runlevel?.target"ํ˜•์‹์œผ๋กœ ๋˜์–ด ์žˆ๋Š” ํŒŒ์ผ๋“ค์˜ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์ž. ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ runlevel0๋ถ€ํ„ฐ runlevel6๊นŒ์ง€ ์ถœ๋ ฅ๋œ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. runlevel?.target ํŒŒ์ผ๋“ค์€ ๋ชจ๋‘ ๋งํฌํŒŒ์ผ๋กœ ๋‹ค๋ฅธ ํƒ€๊นƒํŒŒ์ผ์— ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค. ์ฐธ๊ณ ๋กœ ๋‚˜๋Š” init์ด ์•„๋‹ˆ๋ผ systemd๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์ž„์—๋„ runlevel์ด๋ผ๋Š” ์šฉ์–ด๊ฐ€ ๊ณ„์†ํ•ด์„œ ์“ฐ์ด๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋Ÿฐ๋ ˆ๋ฒจ๊ณผ target..

article thumbnail
[Web] URI, URL, URN ์ •๋ณตํ•˜๊ธฐ

URI URI(Uniform Resource Identifier)๋Š” ์ž์›์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ฌธ์ž์—ด์ด๋‹ค. ์ž์›์€ ์›นํŽ˜์ด์ง€, ์‚ฌ์ง„์ด๋‚˜ html ํŒŒ์ผ, ๋™์˜์ƒ ๋“ฑ ์ธํ„ฐ๋„ท์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ฌด์—‡์ด๋“  ๋  ์ˆ˜ ์žˆ๋‹ค. URI๋Š” ์ด์ œ ๊ทธ ์ž์›์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ์‹๋ณ„์ž์ด๋‹ค. ์ž์›์€ ์ด๋ฆ„์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜๋„ ์žˆ๊ณ  ๊ทธ ์ž์›์˜ ์œ„์น˜๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜๋„ ์žˆ๋‹ค. URI Syntex URI๋Š” scheme, authority(userinfo), path, query ๊ทธ๋ฆฌ๊ณ  fragment๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. The generic URI syntax consists of a hierarchical sequence of components referred to as the scheme, authority, path, query, and fragment...

article thumbnail
[Web ์šฉ์–ด] - ์ธํ„ฐ๋„ท ํ†ต์‹  (IP,TCP/UDP, DNS, Port ๋“ฑ)

์ด ํฌ์ŠคํŠธ๋Š” ์ธํ”„๋Ÿฐ์˜ ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ HTTP ๊ธฐ๋ณธ ์ง€์‹์ด๋ผ๋Š” ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ๋กœ ์ž‘์„ฑํ•˜์˜€๋‹ค. ์—ฌ๊ธฐ์„œ ๋‹ค๋ฃจ๋Š” ๋‚ด์šฉ์€ ๊ต‰์žฅํžˆ ๊ธฐ์ดˆ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์ถฉ ์›น์ด ์ด๋ ‡๊ฒŒ ํ˜๋Ÿฌ๊ฐ€๊ตฌ๋‚˜~๋ผ๋Š” ์ •๋„๋กœ ์ดํ•ดํ•˜๋ฉด๋œ๋‹ค. ์ธํ„ฐ๋„ท ํ†ต์‹  ์ธํ„ฐ๋„ท์—์„œ ์ปดํ“จํ„ฐ ๋‘˜์€ ์–ด๋–ป๊ฒŒ ํ†ต์‹ ํ• ๊นŒ? ์›น์—์„œ ์ปดํ“จํ„ฐ ๋‘๋Œ€๊ฐ€ ํ†ต์‹ ์„ ํ•œ๋‹ค๊ณ  ํ•˜์ž. ์˜ˆ๋ฅผ ๋“ค์–ด ์šฐ๋ฆฌ๊ฐ€ ์›นํฌํ„ธ์‚ฌ์ดํŠธ์— ์ ‘์†ํ•˜๋Š” ์ƒํ™ฉ์„ ๊ฐ€์ •ํ•ด๋ณด์ž. ์ด๋•Œ ํฌํ„ธ์‚ฌ์ดํŠธ์˜ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋Š” ์ปดํ“จํ„ฐ์™€ ํฌํ„ธ์‚ฌ์ดํŠธ ์ •๋ณด๋ฅผ ์šฐ๋ฆฌ์—๊ฒŒ ์ฃผ๋Š” ์ปดํ“จํ„ฐ ์ด๋ ‡๊ฒŒ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ์—ฌ๊ธฐ์„œ ์ •๋ณด๋ฅผ ์š”์ฒญํ•˜๋Š” ์ปดํ“จํ„ฐ๋ฅผ ํด๋ผ์ด์–ธํŠธ, ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ด์ฃผ๋Š” ์ปดํ“จํ„ฐ๋ฅผ ์„œ๋ฒ„๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ์›น์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์—๊ฒŒ HTTP ์š”์ฒญ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ์„œ๋ฒ„๊ฐ€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ HTTP ์‘๋‹ต ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๋Š” ํ˜•์‹์œผ๋กœ ํ†ต์‹ ์ด ์ด๋ฃจ์–ด์ง„๋‹ค. ํ•˜์ง€๋งŒ ์„ธ์ƒ..

article thumbnail
[OS] ๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ vs ๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ

๐Ÿ’ก๊ฐœ๋… ์ดํ•ดํ•˜๊ธฐ ์˜ค๋Š˜์€ ๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ๊ณผ ๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค. ๋จผ์ € ๋™๊ธฐ์‹, ๋น„๋™๊ธฐ์‹ ์–ด์›๋ถ€ํ„ฐ ์‚ดํŽด๋ณด์ž. ๋™๊ธฐ์‹์€ ์˜์–ด๋กœ Synchronized์ธ๋ฐ, ๋”ฑ๋”ฑ ์‹œ๊ฐ„์— ๋งž์ถฐ์ง„๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฆฝ์‹ฑํฌ์—์„œ ์‹ฑํฌ๋„ Sync์ด๋‹ค. ์ž…๋ชจ์–‘๊ณผ ๋…ธ๋ž˜ ์†Œ๋ฆฌ๋ฅผ ์‹œ๊ฐ„์— ๋งž์ถ”๋Š” ๊ฒƒ์ด๋‹ˆ ๋ฆฝ'์‹ฑํฌ'๋ผ๊ณ  ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด IO์—์„œ synchronize ๋˜์–ด์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋ฌด์Šจ ์˜๋ฏธ์ผ๊นŒ? ์•„๋ž˜ ๊ทธ๋ฆผ์„ ๋ณด์ž. ๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ (Synchronized IO)๋Š” ์ˆœ์ฐจ์ ์œผ๋กœ ์ž…์ถœ๋ ฅ์ด ์ฒ˜๋ฆฌ๋˜๊ณ  ์žˆ๊ณ , ๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ (Asynchronized IO)์—์„œ๋Š” ์ˆœ์„œ๋ฅผ ์ง€ํ‚ค์ง€ ์•Š์€์ฑ„ ์ฒ˜๋ฆฌ๋˜๊ณ  ์žˆ๋‹ค. ์ด์™€ ๊ฐ™์ด ์ˆœ์„œ๋ฅผ ์ง€์ผœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋™๊ธฐ์ (Synchronized), ๊ทธ๊ฒƒ์„ ๋ณด์žฅํ•ด์ฃผ์ง€ ์•Š๋Š” ๊ฒƒ์„ ๋น„๋™๊ธฐ์ (Asynchrono..

article thumbnail
[OS] ์Šค๋ ˆ๋“œ(Thread)

์Šค๋ ˆ๋“œ(Thread)๋ž€? ์Šค๋ ˆ๋“œ(Thread)๋Š” ํ”„๋กœ์„ธ์Šค(Process) ์•ˆ์—์„œ ์‹ค์ œ๋กœ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ํ•˜๋‚˜์˜ ์ฃผ์ฒด์ด๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ (์ฐธ๊ณ  : [๐Ÿ–ฅ๏ธ Computer Science/OS] - [OS] ํ”„๋กœ์„ธ์Šค vs ํ”„๋กœ๊ทธ๋žจ)์ด๋ผ๋ฉด, ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค ์•ˆ์—์„œ ์ง„ํ–‰๋˜๋Š” ์‹คํ–‰์˜ ํ๋ฆ„์ด๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ์˜ค์ง ํ•œ ํ”„๋กœ์„ธ์Šค ์•ˆ์—๋งŒ ์†ํ•ด์žˆ๋‹ค. ์Šค๋ ˆ๋“œ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ํŠน์ง•์„ ์ง€๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฝ๋Ÿ‰ ํ”„๋กœ์„ธ์Šค(lightweight process)๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ๋„ ํ•˜๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ํ”„๋กœ์„ธ์Šค๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ๋˜์ง€ ์Šค๋ ˆ๋“œ๊นŒ์ง€ ๊ท€์ฐฎ๊ฒŒ ๋˜ ๋งŒ๋“ค์–ด์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ผ๊นŒ? ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. (์ด ์˜ˆ์‹œ๋Š” ์ธํŒŒ๋‹˜ ๋ธ”๋กœ๊ทธ์˜ ์„ค๋ช…์„ ์ฐธ๊ณ ํ•˜์˜€์Œ์„ ๋ฐํžŒ๋‹ค.) ์˜ˆ๋ฅผ ๋“ค์–ด ํฌ๋กฌ์ด๋ผ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๊ณ  ์žˆ๋‹ค๊ณ  ํ•˜์ž. ์ด..