์˜์–ดํ”„๋ž‘์Šค์–ด์ŠคํŽ˜์ธ์–ด

Ad


์˜จ์›์Šค ํŒŒ๋น„์ฝ˜

dacsauth - ํด๋ผ์šฐ๋“œ ์˜จ๋ผ์ธ

Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ฅผ ํ†ตํ•ด OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด์—์„œ dacsauth ์‹คํ–‰

์ด๊ฒƒ์€ Ubuntu Online, Fedora Online, Windows ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ๋˜๋Š” MAC OS ์˜จ๋ผ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ์™€ ๊ฐ™์€ ์—ฌ๋Ÿฌ ๋ฌด๋ฃŒ ์˜จ๋ผ์ธ ์›Œํฌ์Šคํ…Œ์ด์…˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OnWorks ๋ฌด๋ฃŒ ํ˜ธ์ŠคํŒ… ๊ณต๊ธ‰์ž์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” dacsauth ๋ช…๋ น์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ:

์ด๋ฆ„


dacsauth - ์ธ์ฆ ํ™•์ธ

๊ฐœ์š”


๋‹ฅ์‚ฌ์šฐํŠธ [-m ์ธ์ฆ ๋ชจ๋“ˆ ์‚ฌ์–‘] [...] [-r ์—ญํ• -๋ชจ๋“ˆ-์‚ฌ์–‘] [...] [-D์ง€๋ น=๊ฐ€์น˜]
[-aux]
[-fj ์„ฑ] [-fn ํŽ˜๋“œ๋„ค์ž„] [-h | -๋„์›€] [-์‹ ๋ถ„์ฆ] [-NS log_level]
[-p ์•”ํ˜ธ]
[-pf ํŒŒ์ผ] [-์ฆ‰๊ฐ์ ์ธ] [-q] [{-u | -์‚ฌ์šฉ์ž} ์‚ฌ์šฉ์ž ์ด๋ฆ„] [-v]
dacsauth ๋ชจ๋“ˆ

๊ธฐ์ˆ 


์ด ํ”„๋กœ๊ทธ๋žจ์€ DACS ๋ชจ์Œ๊ณก.

XNUMXD๋ดํƒˆ์˜ ๋‹ฅ์‚ฌ์šฐํŠธ ์ฃผ์–ด์ง„ ์ธ์ฆ ์ž๋ฃŒ๊ฐ€ ์ธ์ฆ์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ
์š”๊ตฌ ์‚ฌํ•ญ ๋ฐ ํ”„๋กœ์„ธ์Šค์˜ ์ข…๋ฃŒ ์ƒํƒœ๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์™€ ๋น„์Šทํ•˜๋‹ค
dacs_์ธ์ฆ(8)[1] ๋ฐ dacscred(1)[2].

๋‹ฅ์‚ฌ์šฐํŠธ ์Šคํฌ๋ฆฝํŠธ ๋ฐ ๊ธฐํƒ€ ํ”„๋กœ๊ทธ๋žจ์ด DACS ์ธ์ฆ
ํ•˜๋ถ€ ๊ตฌ์กฐ. ์„ฑ๊ณต์ ์ธ ์ธ์ฆ์„ ๋Œ€๋žต์ ์ธ ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๊ถŒํ•œ ๋ถ€์—ฌ; ์˜ฌ๋ฐ”๋ฅธ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์‚ฌ์šฉ์ž๋งŒ
์˜ˆ๋ฅผ ๋“ค์–ด ํ”„๋กœ๊ทธ๋žจ. ๋˜๋Š” ์„ฑ๊ณต ํ›„ ์ผ๋ถ€ ์œ ํ˜•์˜ ์ž๊ฒฉ ์ฆ๋ช…์„ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ธ์ฆ ๋˜๋Š” ์•„๋งˆ๋„ ์‚ฌ์šฉ dacs_auth_agent(8)[3] ๋Œ์•„๊ฐ€๋‹ค DACS ์‹ ์ž„์žฅ.

๋‹ฅ์‚ฌ์šฐํŠธ ์ง€์ •๋œ ์‚ฌ์šฉ์ž์™€ ๊ด€๋ จ๋œ ์—ญํ•  ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ฅ์‚ฌ์šฐํŠธ ์•„๋ฌด๊ฒƒ๋„ ์ฝ์ง€ ์•Š๋Š”๋‹ค DACS ๊ตฌ์„ฑ ํŒŒ์ผ. ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ
์ธ์ˆ˜๋กœ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŒ
If ๋‹ฅ์‚ฌ์šฐํŠธ ๋‚ด์žฅ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ์—ญํ• ์„ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค. ์•„๋‹ˆ
์„ฌ๊ธฐ๋Š” ์‚ฌ๋žŒ ๊ตฌ์„ฑ ์š”์†Œ is ํ•„์ˆ˜. ์ด๊ฒƒ์€ ๋‹น์‹ ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค ๋‹ฅ์‚ฌ์šฐํŠธ ~ ํ•  ํ•„์š”์—†์ด
Apache๋ฅผ ํฌํ•จํ•œ ์›น ์„œ๋ฒ„์— ์•ก์„ธ์Šคํ•˜๊ฑฐ๋‚˜ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ต์…˜


๋‹ค์Œ ๋ช…๋ น์ค„ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ธ์‹๋ฉ๋‹ˆ๋‹ค. ์ ์–ด๋„ ํ•˜๋‚˜ -m ํ”Œ๋ž˜๊ทธ(์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด
์ธ์ฆ ํ…Œ์ŠคํŠธ) ๋˜๋Š” ์ ์–ด๋„ ํ•˜๋‚˜ -r ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์—ญํ• ์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด
ID์— ๋Œ€ํ•œ ์„ค๋ช…์ž ๋ฌธ์ž์—ด์„ stdout์œผ๋กœ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ํ”Œ๋ž˜๊ทธ์˜ ์กฐํ•ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์ด ๊ฒฝ์šฐ ์—ญํ•  ์„ค๋ช…์ž ๋ฌธ์ž์—ด์€ ์ธ์ฆ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•œ ๊ฒฝ์šฐ์—๋งŒ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.
์„ฑ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค.

-D์ง€๋ น=๊ฐ€์น˜
์ด๋Š” ์„ค์ •๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ง€๋ น, ์žฅ๊ตฐ DACS ๊ตฌ์„ฑ ์ง€์‹œ๋ฌธ
๊ฐ€์น˜. ์ฐธ์กฐ dacs.conf(5)[4].

-aux
์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‹ค์Œ ๋ฌธ์ž์—ด -p, -pf๋ฐ -์ฆ‰๊ฐ์ ์ธ ํ”Œ๋ž˜๊ทธ๋Š”
๋ณด์กฐ์ž ์ธ์ฆ ์ธ์ˆ˜. ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
ํ”„๋กœ๊ทธ๋žจ์— PIN๊ณผ ๊ฐ™์€ ๋ณด์กฐ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์•”ํ˜ธ๋ฅผ ์–ป๊ธฐ ์œ„ํ•œ ํ”Œ๋ž˜๊ทธ,
์žˆ๋Š” ๊ฒฝ์šฐ ๋ช…๋ น์ค„์—์„œ ์ด ํ”Œ๋ž˜๊ทธ ์•ž์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

-fj ์„ฑ
์„ฑ, ๊ด€ํ•  ๊ตฌ์—ญ ์ด๋ฆ„์œผ๋กœ ๊ตฌ๋ฌธ์ƒ ์œ ํšจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ
ํ•˜์ง€๋งŒ ์ œ๊ณต๋˜์ง€ ์•Š์œผ๋ฉด ํ˜ธ์ŠคํŠธ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์—์„œ ํŒŒ์ƒ๋œ ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

-fn ํŽ˜๋“œ๋„ค์ž„
ํŽ˜๋“œ๋„ค์ž„, ํŽ˜๋”๋ ˆ์ด์…˜ ์ด๋ฆ„์œผ๋กœ ๊ตฌ๋ฌธ์ƒ ์œ ํšจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒฝ์šฐ
ํ•˜์ง€๋งŒ ์ œ๊ณต๋˜์ง€ ์•Š์œผ๋ฉด ํ˜ธ์ŠคํŠธ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„์—์„œ ํŒŒ์ƒ๋œ ๊ฐ’์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

-h
-๋„์›€
๋„์›€๋ง ๋ฉ”์‹œ์ง€๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

-์‹ ๋ถ„์ฆ
์„ฑ๊ณตํ•˜๋ฉด ์ธ์ฆ๋œ DACS ํ‘œ์ค€ ์ถœ๋ ฅ์— ๋Œ€ํ•œ ID.

-NS log_level
๋””๋ฒ„๊น… ์ถœ๋ ฅ ๋ ˆ๋ฒจ์„ ๋‹ค์Œ์œผ๋กœ ์„ค์ •ํ•˜์‹ญ์‹œ์˜ค. log_level (์ฐธ์กฐ ๋‹ฅ์Šค(1)[5]). ๊ธฐ๋ณธ ๋ ˆ๋ฒจ์€
๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

-m ์ธ์ฆ ๋ชจ๋“ˆ ์‚ฌ์–‘
ํ•„์š”ํ•œ ์ธ์ฆ ํ…Œ์ŠคํŠธ์˜ ๊ฐ ์œ ํ˜•์€ ์ธ์ฆ ๋ชจ๋“ˆ ์‚ฌ์–‘
๋ฐ”๋กœ ๋’ค๋”ฐ๋ฅด๋Š” -m ๊นƒ๋ฐœ. ๊ฐ ์ธ์ฆ ๋ชจ๋“ˆ ์‚ฌ์–‘ ๋ณธ์งˆ์ ์œผ๋กœ
์˜ ๋Œ€์ฒด ํ‘œํ˜„ ์ธ์ฆ ์ ˆ[6] ๋ฐ ํ•ด๋‹น ์ง€์‹œ์–ด๋Š” ๋‹ค์Œ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
dacs_์ธ์ฆ(8)[1]. Auth ์ ˆ์ด a์— ๋‚˜ํƒ€๋‚˜๋Š” ์ˆœ์„œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ DACS
๊ตฌ์„ฑ ํŒŒ์ผ, -m ํ‘œ์‹œ๋˜๋Š” ํ”Œ๋ž˜๊ทธ๊ฐ€ ์ค‘์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์— ๋”ฐ๋ผ ์ œ์–ด ํ‚ค์›Œ๋“œ. ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ ์—ฐ์†์ ์œผ๋กœ -m ๊ตฌ์„ฑ ์š”์†Œ๋Š”
์ž๋™์œผ๋กœ ํ• ๋‹น๋œ ์ด๋ฆ„, auth_module_1, auth_module_2 ๋“ฑ, ์ฃผ๋กœ
์˜ค๋ฅ˜ ๋ณด๊ณ  ๋ชฉ์ .

An ์ธ์ฆ ๋ชจ๋“ˆ ์‚ฌ์–‘ ๋‹ค์Œ ๊ตฌ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

XNUMXD๋ดํƒˆ์˜ ๋ชจ๋“ˆ ๋‚ด์žฅ ๋ชจ๋“ˆ์˜ ์ด๋ฆ„์ด๋‚˜ ์œ ํšจํ•œ ์•ฝ์–ด๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
๋˜๋Š” ์™ธ๋ถ€ ์ธ์ฆ ๋ชจ๋“ˆ์˜ (์ ˆ๋Œ€) URL(
์ „์—, URL[7] ์ง€์‹œ์–ด). ๋‹ค์Œ์€ ์ธ์‹๋œ ์ธ์ฆ ์Šคํƒ€์ผ ํ‚ค์›Œ๋“œ๋กœ ๋‚˜ํƒ€๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ง€์ •์ž(์— ํ•ด๋‹นํ•˜๋Š” STYLE[8] ์ง€์‹œ์–ด). ๋‹ค์Œ์œผ๋กœ ์ œ์–ด ํ‚ค์›Œ๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
์™€ ๋™์ผํ•œ ๊ฒƒ ํ†ต์ œ[9] Auth ์ ˆ์˜ ์ง€์‹œ์–ด. ํ›„ ์ œ์–ด
ํ‚ค์›Œ๋“œ, ์•„๋ž˜์— ์„ค๋ช…๋œ ํ”Œ๋ž˜๊ทธ๋Š” ์–ด๋–ค ์ˆœ์„œ๋กœ๋“  ๋’ค๋”ฐ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

An ์ธ์ฆ ๋ชจ๋“ˆ ์‚ฌ์–‘ ์ฒซ ๋ฒˆ์งธ ์œ ํšจํ•˜์ง€ ์•Š์€ ํ”Œ๋ž˜๊ทธ(๋˜๋Š” ํ”Œ๋ž˜๊ทธ์˜ ๋)๊ฐ€
๋งŒ๋‚ฌ๋‹ค.

XNUMXD๋ดํƒˆ์˜ -O ํ”Œ๋ž˜๊ทธ๋Š” OPTION[10] ์ง€์‹œ.

XNUMXD๋ดํƒˆ์˜ -NS ํ”Œ๋ž˜๊ทธ ๋‹ค์Œ์—๋Š” ์ฝ์„ ํŒŒ์ผ์˜ ์ด๋ฆ„์ธ ์ธ์ˆ˜๊ฐ€ ์˜ต๋‹ˆ๋‹ค.
์˜ต์…˜, ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ํ˜•์‹ name=๊ฐ€์น˜. ๋นˆ ์ค„๊ณผ ๋‹ค์Œ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ค„
'#'์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด ์ค„์€ "-O"๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋”ฐ์˜ดํ‘œ๋Š” ๋‹จ์ˆœํžˆ
๋ณต์‚ฌ๋˜๊ณ  ํ•ด์„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ -NS ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ช…๋ น์ค„์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ ‡์ง€ ์•Š์€ ์‹์„ ๋” ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ์‰˜์— ์˜ํ•œ ํ•ด์„์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ์ด์Šค์ผ€์ดํ”„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

XNUMXD๋ดํƒˆ์˜ -expr ํ”Œ๋ž˜๊ทธ๋Š” ํŠน๊ธ‰[11] ์ง€์‹œ. ๊ทธ๋งŒํผ -vfs ํ”Œ๋ž˜๊ทธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๊ตฌ์„ฑ Vfs[12] ์ด ๋ชจ๋“ˆ์— ํ•„์š”ํ•œ ์ง€์‹œ๋ฌธ.

-๋ชจ๋“ˆ
๊ธฐ๋ณธ ์ œ๊ณต ์ธ์ฆ ๋ชจ๋“ˆ ๋ฐ ์—ญํ•  ๋ชจ๋“ˆ ๋ชฉ๋ก์„ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ํ‘œ์‹œํ•˜๊ณ 
๊ทธ๋Ÿฐ ๋‹ค์Œ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ํ‘œ์ค€ ๋ชจ๋“ˆ ์ด๋ฆ„์ด ์ธ์‡„๋˜๊ณ  XNUMX๊ฐœ ์ด์ƒ์˜ ๋™๋“ฑํ•œ ํ•ญ๋ชฉ์ด ๋’ค๋”ฐ๋ฆ…๋‹ˆ๋‹ค.
์•ฝ์–ด. ์ธ์ฆ ๋ชจ๋“ˆ์˜ ๊ฒฝ์šฐ ์ธ์ฆ ์Šคํƒ€์ผ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ชฉ๋ก์—
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆ์„ ๋ณด๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜์‹ญ์‹œ์˜ค.

% dacsauth -๋ชจ๋“ˆ

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ(ํ™œ์„ฑํ™”๋œ) ๊ธฐ๋ณธ ์ œ๊ณต ์ธ์ฆ ๋ฐ ์—ญํ•  ๋ชจ๋“ˆ ์ง‘ํ•ฉ์ด ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.
์–ธ์ œ DACS ์ง€์–ด์กŒ์Šต๋‹ˆ๋‹ค.

-p ์•”ํ˜ธ
์‚ฌ์šฉํ•  ์•”ํ˜ธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค( PASSWORD ์ธ์ˆ˜
dacs_์ธ์ฆ).

๋ณด์•ˆ
๋ช…๋ น์ค„์— ์ง€์ •๋œ ์•”ํ˜ธ๋Š” ๋™์ผํ•œ ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์‹œ์Šคํ…œ.

-pf ํŒŒ์ผ
์—์„œ ์‚ฌ์šฉํ•  ์•”ํ˜ธ ์ฝ๊ธฐ ํŒŒ์ผ (๋™๋“ฑํ•œ PASSWORD ์ธ์ˆ˜
dacs_์ธ์ฆ). ๋งŒ์•ฝ ํŒŒ์ผ "-"์ด๋ฉด ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ์•”ํ˜ธ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.
๋ฌป์ง€ ์•Š๊ณ .

-์ฆ‰๊ฐ์ ์ธ
์•”ํ˜ธ๋ฅผ ๋ฌป๊ณ  stdin์—์„œ ์ฝ์Šต๋‹ˆ๋‹ค( PASSWORD ์ธ์ˆ˜
dacs_์ธ์ฆ). ์•”ํ˜ธ๋Š” ์—์ฝ”๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

-q
๋””๋ฒ„๊น… ์ถœ๋ ฅ ๋ ˆ๋ฒจ์„ ์ค„์—ฌ ๋” ์กฐ์šฉํ•ด์ง‘๋‹ˆ๋‹ค.

-r ์—ญํ•  ๋ชจ๋“ˆ ์‚ฌ์–‘
์—ญํ•  ์‚ฌ์šฉ์ž ์ด๋ฆ„ ์ด ํ”Œ๋ž˜๊ทธ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ค์Œ ์—ญํ• -๋ชจ๋“ˆ-์‚ฌ์–‘. ๊ทธ๋งŒํผ -r ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋ฐ˜๋ณต๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ฒฐ๊ณผ ์—ญํ• 
๊ฒฐํ•ฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์—ญํ• -๋ชจ๋“ˆ-์‚ฌ์–‘ ๋ณธ์งˆ์ ์œผ๋กœ
๋‹ค์Œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์—ญํ•  ์ ˆ dacs_์ธ์ฆ(8)[13]. ์—ฐ์† -r ๊ตฌ์„ฑ ์š”์†Œ๋Š”
์ฃผ๋กœ ์˜ค๋ฅ˜ ๋ณด๊ณ ๋ฅผ ์œ„ํ•ด ํ• ๋‹น๋œ ์ด๋ฆ„, roles_module_1, roles_module_2 ๋“ฑ
๋ชฉ์ .

A ์—ญํ• -๋ชจ๋“ˆ-์‚ฌ์–‘ ๋‹ค์Œ ๊ตฌ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

XNUMXD๋ดํƒˆ์˜ ๋ชจ๋“ˆ ๊ตฌ์„ฑ ์š”์†Œ๋Š” Roles ์ ˆ์˜ URL[14] ์ง€์‹œ์–ด ๋ฐ
์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ์—ญํ•  ๋ชจ๋“ˆ์˜ ์ด๋ฆ„, ์œ ํšจํ•œ ํ•ด๋‹น ์•ฝ์–ด,
๋˜๋Š” ์™ธ๋ถ€ ์—ญํ•  ๋ชจ๋“ˆ์˜ (์ ˆ๋Œ€) URL์ž…๋‹ˆ๋‹ค.

ํ”Œ๋ž˜๊ทธ๋Š” ๋‹ค์Œ์„ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“ˆ ์–ด๋–ค ์ˆœ์„œ๋กœ ๊ตฌ์„ฑ ์š”์†Œ. ใ… ์—ญํ• -๋ชจ๋“ˆ-์‚ฌ์–‘ ๋๋‚  ๋•Œ
์ฒซ ๋ฒˆ์งธ ์œ ํšจํ•˜์ง€ ์•Š์€ ํ”Œ๋ž˜๊ทธ(๋˜๋Š” ํ”Œ๋ž˜๊ทธ์˜ ๋)๊ฐ€ ๋ฐœ๊ฒฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

XNUMXD๋ดํƒˆ์˜ -O ํ”Œ๋ž˜๊ทธ๋Š” OPTION[10] ์ง€์‹œ.

XNUMXD๋ดํƒˆ์˜ -NS ํ”Œ๋ž˜๊ทธ ๋‹ค์Œ์—๋Š” ์ฝ์„ ํŒŒ์ผ์˜ ์ด๋ฆ„์ธ ์ธ์ˆ˜๊ฐ€ ์˜ต๋‹ˆ๋‹ค.
์˜ต์…˜, ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ํ˜•์‹ name=๊ฐ€์น˜. ๋นˆ ์ค„๊ณผ ๋‹ค์Œ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ค„
'#'์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค. ์ด ์ค„์€ "-O"๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š์œผ๋ฉฐ ๋”ฐ์˜ดํ‘œ๋Š” ๋‹จ์ˆœํžˆ
๋ณต์‚ฌ๋˜๊ณ  ํ•ด์„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ -NS ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์ง€ ์•Š๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ช…๋ น์ค„์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ ‡์ง€ ์•Š์€ ์‹์„ ๋” ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ์‰˜์— ์˜ํ•œ ํ•ด์„์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ์ด์Šค์ผ€์ดํ”„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

XNUMXD๋ดํƒˆ์˜ -expr ํ”Œ๋ž˜๊ทธ๋Š” ํŠน๊ธ‰[11] ์ง€์‹œ. ๊ทธ๋งŒํผ -vfs ํ”Œ๋ž˜๊ทธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๊ตฌ์„ฑ Vfs[12]์— ์˜ํ•ด ์š”๊ตฌ๋˜๋Š” ์ง€์‹œ๋ฌธ ๋ชจ๋“ˆ.

-u ์‚ฌ์šฉ์ž ์ด๋ฆ„
-์‚ฌ์šฉ์ž ์‚ฌ์šฉ์ž ์ด๋ฆ„
์ธ์ฆํ•  ์‚ฌ์šฉ์ž ์ด๋ฆ„( ์‚ฌ์šฉ์ž ์ด๋ฆ„ ์ธ์ˆ˜
dacs_์ธ์ฆ). ์ด ์‚ฌ์šฉ์ž ์ด๋ฆ„์€ ์œ ํšจํ•œ
์—ฐ๋งน ๋ฐ ๊ด€ํ• ๊ถŒ (์ฐธ์กฐ -fn[15] ๋ฐ -fj[16] ํ”Œ๋ž˜๊ทธ).

-v
XNUMXD๋ดํƒˆ์˜ -v ํ”Œ๋ž˜๊ทธ๋Š” ๋””๋ฒ„๊น… ์ถœ๋ ฅ ๋ ˆ๋ฒจ์„ ๋””๋ฒ„๊ทธ ๋˜๋Š” (๋ฐ˜๋ณต๋˜๋Š” ๊ฒฝ์šฐ) ํŠธ๋ ˆ์ด์Šค๋กœ ๋ฒ”ํ”„ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ์˜ˆ


๋ณด์•ˆ
If ๋‹ฅ์‚ฌ์šฐํŠธ ๋‚ด์žฅ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด setuid ๋˜๋Š”
ํ•„์š”ํ•œ ์•”ํ˜ธ ํŒŒ์ผ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ๊ถŒํ•œ์„ ์–ป๊ธฐ ์œ„ํ•œ setgid(๋™์ผํ•œ
๊ธฐ๋ณธ ์ œ๊ณต ์—ญํ•  ๋ชจ๋“ˆ์˜ ๊ฒฝ์šฐ ์ฐธ์ž…๋‹ˆ๋‹ค). ์™ธ๋ถ€ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ํ•ด๋‹น ๋ชจ๋“ˆ์€
์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•จ DACS ์•”ํ˜ธํ™” ํ‚ค,
ํŠนํžˆ federation_keys ๋ฐ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ DACS ๋˜๋Š” ์‹œ์Šคํ…œ ์•”ํ˜ธ ํŒŒ์ผ; ์™ธ๋ถ€
๊ทธ๋Ÿฌ๋ฉด ๋ชจ๋“ˆ์€ ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํŽ˜๋”๋ ˆ์ด์…˜์— ๋งž๋Š” federation_keys๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฐธ์กฐ
๋‘ ๊ฐœ ์ด์ƒ์˜ ์—ฐํ•ฉ์— ์žˆ๋Š” ์ธ์ฆ ๋ชจ๋“ˆ์€ ์•„๋งˆ๋„ ์ž‘๋™ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹ฅ์‚ฌ์šฐํŠธ ๋”ฐ๋ผ์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ์‚ฌ์šฉ์ž์˜ UID๋กœ ์‹คํ–‰ํ•˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
(๋ฃจํŠธ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ) ์ •๋ณด์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.
๊ทธ๊ฒƒ์€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋˜ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ "์†์ž„์ˆ˜"(์˜ˆ:
๋””๋ฒ„๊ฑฐ๋กœ ๋ชจ๋“ˆ ์‹คํ–‰).

์ด ์˜ˆ๋Š” "test"๋ผ๋Š” ์•”ํ˜ธ๋กœ "bobo" ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•ฉ๋‹ˆ๋‹ค. DACS ๋น„๋ฐ€๋ฒˆํ˜ธ ํŒŒ์ผ
/usr/local/dacs/conf/passwd:

% dacsauth -m passwd passwd ํ•„์š”
-vfs "[passwds]dacs-kwv-fs:/usr/local/dacs/conf/passwd" -q -u bobo -p ํ…Œ์ŠคํŠธ

๋ช…๋ น์˜ ์ข…๋ฃŒ ์ƒํƒœ๊ฐ€ XNUMX์ด๋ฉด ์ธ์ฆ ํ…Œ์ŠคํŠธ๊ฐ€ ์„ฑ๊ณตํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์‹คํŒจํ•œ.

๋‹ค์Œ ์˜ˆ์ œ๋Š” Unix ์•”ํ˜ธ ํŒŒ์ผ์— ๋Œ€ํ•ด "bobo" ์ธ์ฆ์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋งŒํผ
ํ”„๋กœ๊ทธ๋žจ์ด ์•”ํ˜ธ๋ฅผ ๋ฌป์Šต๋‹ˆ๋‹ค.

% dacsauth -m ์œ ๋‹‰์Šค ์•”ํ˜ธ ํ•„์š” -u bobo -prompt

๋‹ค์Œ ์˜ˆ์—์„œ๋Š” ๋‹ฅ์‚ฌ์šฐํŠธ NTLM์„ ํ†ตํ•ด "bobo" ์ธ์ฆ ์‹œ๋„
winders.example.com:

% dacsauth -m ntlm passwd suff -OSAMBA_SERVER="winders.example.com" -prompt -u bobo

์ด ์˜ˆ์ œ๋Š” ์™ธ๋ถ€ ์ธ์ฆ ๋ชจ๋“ˆ์ด ์žˆ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๋ฉด ์ด์ „ ์˜ˆ์ œ์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
๊ฐ€ ์‚ฌ์šฉ๋˜๊ณ  ํŒŒ์ผ์—์„œ ์•”ํ˜ธ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค. ์™ธ๋ถ€ ๋ชจ๋“ˆ๋กœ ์ธํ•ด ์ถ”๊ฐ€
๊ตฌ์„ฑ์„ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ federation_keys์˜ ์œ„์น˜์™€
์—ฐ๋ฐฉ ๋ฐ ๊ด€ํ•  ๊ตฌ์—ญ ์ด๋ฆ„์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

% dacsauth -m https://example.example.com/cgi-bin/dacs/local_ntlm_authenticate \
์ถฉ๋ถ„ํ•œ ์•”ํ˜ธ -OSAMBA_SERVER="winders.example.com" \
-fn ์˜ˆ -fj FEDROOT -u bobo -pf mypass \
-DVFS="[federation_keys]dacs-fs:/usr/local/dacs/federations/example/federation_keys"

์— ๋Œ€ํ•ด ์ธ์ฆํ•˜๋ ค๋ฉด ๊ตฌ๊ธ€[17] ๊ณ„์ • [์ด๋ฉ”์ผ ๋ณดํ˜ธ], ๋‹ค์Œ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

% dacsauth -m http passwd suff \
-OAUTH_URL="https://www.google.com/accounts/ClientLogin" \
-OUSERNAME_PARAMETER=์ด๋ฉ”์ผ -OPASSWORD_PARAMETER=๋น„๋ฐ€๋ฒˆํ˜ธ \
-Oservice=xapi -Osource=DSS-DACS-1.4 -prompt -u [์ด๋ฉ”์ผ ๋ณดํ˜ธ]

๋‹ค์Œ ์˜ˆ์—์„œ๋Š” ์ธ์ฆ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‹์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
์„ฑ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž("bobo")์—๊ฒŒ ์•”ํ˜ธ๋ฅผ ๋ฌป๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด "foo"๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋งŒ
์ฃผ์–ด์ง„ ์ธ์ฆ์ด ์„ฑ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ณด๋‹ค ํ˜„์‹ค์ ์ธ ์˜ˆ๋Š” ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์„ ํ˜ธ์ถœํ•˜์—ฌ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

% dacsauth -m expr expr suffi \
-expr '${Args::PASSWORD} eq "foo" ? ${Args::USERNAME} : ""' -์‚ฌ์šฉ์ž bobo -ํ”„๋กฌํ”„ํŠธ

Apache์— ๋Œ€ํ•œ ์ธ์ฆ htdigest ์•”ํ˜ธ ํŒŒ์ผ์€ ๋‹ค์Œ์—์„œ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด stdin์—์„œ ์•”ํ˜ธ๋ฅผ ์ฝ์Šต๋‹ˆ๋‹ค.

% ์—์ฝ” "ํ…Œ์ŠคํŠธ" | dacsauth -m ์•„ํŒŒ์น˜ ๋‹ค์ด์ œ์ŠคํŠธ ์ถฉ๋ถ„ \
-OAUTH_MODULE=mod_auth_digest \
-OAUTH_FILE=/usr/local/apache2/conf/passwords.digest \
-OAUTH_REALM="DACS ๋‹ค์ด์ œ์ŠคํŠธ ์ธ์ฆ ์˜์—ญ" \
-u ๋ณด๋ณด -pf -

PAM ๋ชจ๋“ˆ์„ ํ†ตํ•œ ์ธ์ฆ์€ ๋‹ค๋ฅธ ๋ชจ๋“ˆ๊ณผ ๋‹ค๋ฅด๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉํ•˜๊ธฐ ๋ณต์žก - ๋•Œ๋ฌธ์— ๋‹ฅ์‚ฌ์šฐํŠธ ๋ฌด์—‡์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹คํ–‰ํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
PAM์ด ์š”๊ตฌํ•˜๋Š” ์ •๋ณด. ์˜ˆ/์•„๋‹ˆ์˜ค ๊ฒฐ์ •์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋Œ€์‹  ๋‹ฅ์‚ฌ์šฐํŠธ ์ธ์‡„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
stdout์— ๋Œ€ํ•œ ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ๋ฌป๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ์— ์ œ์‹œ๋œ ์šด์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜์‹ญ์‹œ์˜ค.
dacs_์ธ์ฆ(8)[18] ๋ฐ ํŒœ๋“œ(8)[19] ์ด ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๊ธฐ ์ „์—.

๋‹ค์Œ ์˜ˆ์ œ๋Š” ๋ช…๋ น์ค„์—์„œ ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ผ๋‹จ ๊ธฐ๋ณธ
์•„์ด๋””์–ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋Œ€๋ณธ์„ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋ช…๋ฐฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ํ•„์š”ํ•œ ๋ฐ˜๋ณต. ๊ฒฝ๋กœ์™€ ๊ฐ™์€ ์˜ˆ์ œ์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์กฐ์ •ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹น์‹ ์˜ ํ™˜๊ฒฝ. ์ด ์˜ˆ์—์„œ ์‚ฌ์šฉ์ž ์ด๋ฆ„์€ ์ฒ˜์Œ์— ์ง€์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋‹ฅ์‚ฌ์šฐํŠธ ์•Œ๋ ค์ง„ ๊ฒฝ์šฐ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์ง€๋งŒ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

% dacsauth -m pam ํ”„๋กฌํ”„ํŠธ ์ถฉ๋ถ„ \
-vfs "[federation_keys]dacs-fs:/usr/local/dacs/federations/dss/federation_keys" \
-OPAMD_HOST=localhost -OPAMD_PORT=dacs-pamd -fj ์˜ˆ -fn ํ…Œ์ŠคํŠธ
AUTH_PROMPT_VAR1="๋กœ๊ทธ์ธ:"
AUTH_TRANSID="10.0.0.124:57849:85748:9997c5588a6239e3"
% dacsauth -m pam ํ”„๋กฌํ”„ํŠธ ์ถฉ๋ถ„ \
-vfs "[federation_keys]dacs-fs:/usr/local/dacs/federations/dss/federation_keys" \
-OAUTH_PROMPT_VAR1="๋ณด๋ณด" \
-OAUTH_TRANSID="10.0.0.124:57849:85748:9997c5588a6239e3"-fj EXAMPLE -fn TEST
AUTH_PROMPT_VAR2="๋น„๋ฐ€๋ฒˆํ˜ธ:"
AUTH_TRANSID="10.0.0.124:52188:88417:5ffb0015f21ea546"
% dacsauth -m pam ํ”„๋กฌํ”„ํŠธ ์ถฉ๋ถ„ \
-vfs "[federation_keys]dacs-fs:/usr/local/dacs/federations/dss/federation_keys" \
-OAUTH_PROMPT_VAR2="์•”ํ˜ธ" \
-OAUTH_TRANSID="10.0.0.124:57849:85748:9997c5588a6239e3"-fj EXAMPLE -fn TEST

์ฒ˜์Œ ๋‹ฅ์‚ฌ์šฐํŠธ ์˜ˆ์ œ์—์„œ ์‹คํ–‰๋˜๋ฉด ์‚ฌ์šฉ์ž ์ด๋ฆ„์— ๋Œ€ํ•œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
("๋กœ๊ทธ์ธ:") ํŠธ๋žœ์žญ์…˜ ๋ณ€์ˆ˜์™€ ์—ฐ๊ฒฐ๋จ AUTH_PROMPT_VAR1 ๋ฐ
ํŠธ๋žœ์žญ์…˜ ์‹๋ณ„์ž(AUTH_TRANSID). ํ›„์ž๋Š” ๋‹ค์Œ์œผ๋กœ ์ „๋‹ฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์˜ ์ฒ˜ํ˜• ๋‹ฅ์‚ฌ์šฐํŠธ. ์˜ ๋‘ ๋ฒˆ์งธ ์‹คํ–‰ ๋‹ฅ์‚ฌ์šฐํŠธ ์‚ฌ์šฉ์ž ์ด๋ฆ„("bobo")์„ ์ „๋‹ฌํ•˜๊ณ 
ํŠธ๋žœ์žญ์…˜ ๋ณ€์ˆ˜์™€ ์—ฐ๊ฒฐ๋œ ๋‹ค๋ฅธ ํ”„๋กฌํ”„ํŠธ("๋น„๋ฐ€๋ฒˆํ˜ธ:")๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
AUTH_PROMPT_VAR2. ์„ธ ๋ฒˆ์งธ ์‹คํ–‰์€ ์•”ํ˜ธ("apassword")๋ฅผ ์ „๋‹ฌํ•˜์ง€๋งŒ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
๋ฐ˜ํ™˜๋˜์–ด ์„ธ์…˜์ด ์™„๋ฃŒ๋˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์˜ ์ข…๋ฃŒ ์ƒํƒœ๊ฐ€ ๋ฐ˜์˜๋จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
์ธ์ฆ๊ฒฐ๊ณผ.

ํŒ
ํฌ์žฅ ์ œ์กฐ๋ฅผ ์œ„ํ•ด ๋‹ฅ์‚ฌ์šฐํŠธ ํŠน์ • ์—ญํ• ์— ๋”ฐ๋ผ ์—ญํ• ์„ ๊ฒ€์ƒ‰ํ•˜๋ ค๋ฉด ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
์‚ฌ์šฉ์ค‘์ธ ๋ชจ๋“ˆ. ์˜ˆ๋ฅผ ๋“ค์–ด ์•”ํ˜ธ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ local_unix_roles[20] ๋˜๋Š”
local_roles[21] ์—ญํ• ์„ ์–ป๊ธฐ ์œ„ํ•ด local_ldap_roles[22] ์•„๋งˆ๋„
๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋ฐ”์ธ๋”ฉํ•˜๊ณ  ์—ญํ• ์„ ์–ป๊ธฐ ์œ„ํ•œ ์•”ํ˜ธ์ž…๋‹ˆ๋‹ค.

์ด ์˜ˆ๋Š” ๋‚ด์žฅ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉ์ž "bobo"์˜ ์—ญํ•  ๋ฌธ์ž์—ด์„ ์ธ์‡„ํ•ฉ๋‹ˆ๋‹ค.
local_unix_roles[20] ๋ชจ๋“ˆ:

% dacsauth -r ์œ ๋‹‰์Šค -u ๋ณด๋ณด
bobo,ํœ ,www,์‚ฌ์šฉ์ž

๋‹ค์Œ ์˜ˆ์ œ๋Š” ์™ธ๋ถ€ ์—ญํ•  ๋ชจ๋“ˆ์ด ์‚ฌ์šฉ๋œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๋ฉด ์ด์ „ ์˜ˆ์ œ์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

% dacsauth -r https://example.example.com/cgi-bin/dacs/local_unix_roles \
-DVFS="[federation_keys]dacs-fs:/usr/local/dacs/federations/federation_keys" \
-fn ์˜ˆ -u ๋ณด๋ณด
bobo,ํœ ,www,์‚ฌ์šฉ์ž

์™ธ๋ถ€ ์—ญํ•  ๋ชจ๋“ˆ์€ ์‹คํ–‰ ์ค‘์ธ ํ˜ธ์ŠคํŠธ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ํ˜ธ์ŠคํŠธ์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‹ฅ์‚ฌ์šฐํŠธ. ์ œ๊ณต ๋‹ฅ์‚ฌ์šฐํŠธ ์„ค์น˜๋˜์—ˆ์œผ๋ฉฐ ์ผ์น˜ํ•˜๋Š” federation_keys ํŒŒ์ผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
๋กœ์ปฌ ํ˜ธ์ŠคํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๋กœ์ปฌ ํ˜ธ์ŠคํŠธ๋Š” DACS ๊ด€ํ• ๊ถŒ์ด ์žˆ๊ฑฐ๋‚˜
other DACS ๊ตฌ์„ฑ.

๋‹ค์Œ ์˜ˆ์ œ๋Š” ์—ญํ•  ํ˜„[23] ์‚ฌ์šฉ์ž "bobo"์— ๋Œ€ํ•ด
(์™ธ๋ถ€)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๋ฐ˜ ์ด๋ฆ„ "Bobo Baggins"๋กœ ๋””๋ ‰ํ† ๋ฆฌ local_ldap_roles[22]
๋ชจ๋“ˆ ๋ฐ "์ง์ ‘" ๋ฐ”์ธ๋”ฉ ๋ฐฉ๋ฒ•:

% dacsauth -r https://example.example.com/cgi-bin/dacs/local_ldap_roles \
-Of /usr/local/dacs/ldap_roles_options_direct -u "Bobo Baggins" \
-DVFS="[federation_keys]dacs-fs:/usr/local/dacs/federations/federation_keys" \
-fn ์˜ˆ -fj FEDROOT -ํ”„๋กฌํ”„ํŠธ
DnsAdmins, Print_Operators, Domain_Admins, ๊ด€๋ฆฌ์ž

๋ช…๋ น์ค„์— ์‰ฝ๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ๋ฐฐ์น˜ํ•˜๊ธฐ์—๋Š” ํ”Œ๋ž˜๊ทธ๊ฐ€ ๋„ˆ๋ฌด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์—
์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์˜ต์…˜์€ -NS ๊นƒ๋ฐœ.
์ด๊ฒƒ์€ ๋˜ํ•œ ํ”„๋กœ๊ทธ๋žจ์— ์•”ํ˜ธ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ณด๋‹ค ์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์•ก์„ธ์Šค๋ฅผ ๋ณด์žฅ
ํŒŒ์ผ์— ์ ์ ˆํ•˜๊ฒŒ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ
/usr/local/dacs/ldap_roles_options_direct์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

LDAP_BIND_METHOD=์ง์ ‘
LDAP_ADMIN_URL*="ldap://winders.example.com/CN=" . ์ธ์ฝ”๋”ฉ(url,${Args::DACS_USERNAME}) . ",CN=์‚ฌ์šฉ์ž,DC=์˜ˆ์ œ,DC=com"

LDAP_ROLES_SELECTOR*="${LDAP::attrname}" eq "memberOf" ? strtr(ldap(rdn_attrvalue, \
ldap(dn_index, "${LDAP::attrvalue}", 1)), " ", "_") : ""

๋‹ค์Œ ์˜ˆ์ œ๋Š” "indirect" ๋ฐ”์ธ๋”ฉ์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์„ ์ œ์™ธํ•˜๋ฉด ์ด์ „ ์˜ˆ์ œ์™€ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.
๋ฐฉ๋ฒ•์ด๋ฏ€๋กœ ์‚ฌ์šฉ์ž์˜ ์ผ๋ฐ˜ ์ด๋ฆ„์„ ์ง€์ •ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

% dacsauth -r https://example.example.com/cgi-bin/dacs/local_ldap_roles \
- /usr/local/dacs/ldap_roles_options_indirect -u bobo \
-DVFS="[federation_keys]dacs-fs:/usr/local/dacs/federations/federation_keys" \
-fn ์˜ˆ -fj FEDROOT -p bobospassword
DnsAdmins, Print_Operators, Domain_Admins, ๊ด€๋ฆฌ์ž

ํŒŒ์ผ /usr/local/dacs/ldap_roles_options_indirect์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด:

LDAP_BIND_METHOD=๊ฐ„์ ‘
LDAP_ADMIN_URL=ldap://winders.example.com/CN=๊ด€๋ฆฌ์ž,CN=์‚ฌ์šฉ์ž,DC=์˜ˆ,DC=com

# ์‚ฌ์šฉ์ž์—์„œ ๊ฒ€์ƒ‰...
LDAP_SEARCH_ROOT_DN=CN=์‚ฌ์šฉ์ž,DC=์˜ˆ,DC=com

LDAP_ADMIN_PASSWORD=theSecretAdminPassword
LDAP_SEARCH_FILTER*="(sAMAccountName=${Args::DACS_USERNAME})"
LDAP_ROLES_SELECTOR*="${LDAP::attrname}" eq "memberOf" ? strtr(ldap(rdn_attrvalue, \
ldap(dn_index, "${LDAP::attrvalue}", 1)), " ", "_") : ""

์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๊ณ  ๊ฐ€์ • ๋‹ฅ์‚ฌ์šฐํŠธ ์™€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ LDAP๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•˜๊ธฐ ์œ„ํ•ด
์ด dacs.conf ๊ตฌ์„ฑ:


URL "http://example.example.com/cgi-bin/dacs/local_ldap_authenticate"
STYLE "๋น„๋ฐ€๋ฒˆํ˜ธ, ์—ญํ•  ์ถ”๊ฐ€"
์ปจํŠธ๋กค "ํ•„์ˆ˜"
LDAP_BIND_METHOD "์ง์ ‘"
LDAP_USERNAME_URL* '"ldap://winders.example.com/cn=" . ์ธ์ฝ”๋”ฉ(url, ${Args::USERNAME}) . ",cn=์‚ฌ์šฉ์ž,dc=์˜ˆ,dc=๋กœ์ปฌ"'
LDAP_USERNAME_EXPR* '"${LDAP::sAMAccountName}"'
LDAP_ROLES_SELECTOR* '"${LDAP::attrname}" eq "memberOf" \
? strtr(ldap(rdn_attrvalue, ldap(dn_index, "${LDAP::attrvalue}", 1)), " ", "_") : ""'


์ด์™€ ๊ฐ™์€ ํŒŒ์ผ(์˜ˆ: /usr/local/dacs/ldap_auth_options_direct)์—๋Š”
๋‹ค์Œ ์ง€์‹œ๋ฌธ:

LDAP_BIND_METHOD=์ง์ ‘
LDAP_USERNAME_URL*="ldap://winders.example.com/cn=" . ์ธ์ฝ”๋”ฉ(url, ${Args::USERNAME}) . ",cn=์‚ฌ์šฉ์ž,dc=์˜ˆ,dc=๋กœ์ปฌ"
LDAP_USERNAME_EXPR*="${LDAP::sAMAccountName}"
LDAP_ROLES_SELECTOR*="${LDAP::attrname}" eq "memberOf" \
? strtr(ldap(rdn_attrvalue, ldap(dn_index, "${LDAP::attrvalue}", 1)), " ", "_") : ""

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

% dacsauth -fj FEDROOT -m http://example.example.com/cgi-bin/dacs/local_ldap_authenticate ์•”ํ˜ธ ์„œํ”„ \
- /usr/local/dacs/ldap_auth_options_direct ์ค‘ \
-DVFS="[federation_keys]dacs-fs:/usr/local/dacs/federations/federation_keys" \
-fn ์˜ˆ -u bobo -prompt

์ง„๋‹จ


ํ”„๋กœ๊ทธ๋žจ์€ ์ธ์ฆ์— ์„ฑ๊ณตํ•˜๋ฉด 0์„ ์ข…๋ฃŒํ•˜๊ณ  ์ธ์ฆ์— ์‹คํŒจํ•˜๋ฉด 1์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.
์—๋Ÿฌ ๋ฐœ์ƒ๋จ.

onworks.net ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜จ๋ผ์ธ์—์„œ dacsauth ์‚ฌ์šฉ


๋ฌด๋ฃŒ ์„œ๋ฒ„ ๋ฐ ์›Œํฌ์Šคํ…Œ์ด์…˜

Windows ๋ฐ Linux ์•ฑ ๋‹ค์šด๋กœ๋“œ

Linux ๋ช…๋ น

  • 1
    ์•„๋น„ ์›Œ๋“œ
    ์•„๋น„ ์›Œ๋“œ
    abiword ๏ฟฝ ์œ ์—ฐํ•œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋‹จ์–ด
    ํ”„๋กœ์„ธ์„œ ...
    ์•ฝ์–ด ์‹คํ–‰
  • 2
    abl
    abl
    abl - ๋‹ค์Œ์— ๋Œ€ํ•œ ์ ‘๋‘์–ด ํ‘œํ˜„
    ๋ถ€์šธ ํ•จ์ˆ˜ ์„ค๋ช…:
    libablmmm.a๋Š” ๋‹ค์Œ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
    ๋ถ€์šธ ํ•จ์ˆ˜๋ฅผ a๋กœ ํ‘œํ˜„
    LISP์™€ ์œ ์‚ฌํ•œ ํ˜•ํƒœ. ...
    ์‹คํ–‰
  • 3
    create_bmp_for_direct_in_circ
    create_bmp_for_direct_in_circ
    sorry_no_written_yet - atlc ์‚ฌ์šฉ์˜ ์ผ๋ถ€
    create_bmp_for_rect_in_circ ์˜จ๋ผ์ธ ์‚ฌ์šฉ
    onworks.net ์„œ๋น„์Šค. ...
    create_bmp_for_rect_in_circ ์‹คํ–‰
  • 4
    create_bmp_for_direct_in_direct
    create_bmp_for_direct_in_direct
    create_bmp_for_rect_in_rect - ๋น„ํŠธ๋งต
    ์ง์‚ฌ๊ฐํ˜• ๋„์ฒด์šฉ ๋ฐœ์ „๊ธฐ
    ์ง์‚ฌ๊ฐํ˜• ๋„์ฒด ๋‚ด๋ถ€(์˜ ์ผ๋ถ€
    ...
    create_bmp_for_rect_in_rect ์‹คํ–‰
  • 5
    ๊ฐญ5
    ๊ฐญ5
    gap5 - ๊ฒŒ๋†ˆ ์กฐ๋ฆฝ ํ”„๋กœ๊ทธ๋žจ(์˜ ์ผ๋ถ€
    ์Šคํ…Œ๋“  ํŒจํ‚ค์ง€) ...
    ๋Ÿฐ๊ฐญ5
  • 6
    gapi2-codegen
    gapi2-codegen
    ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์Œ - ์ด์— ๋Œ€ํ•œ ๋งจํŽ˜์ด์ง€ ์—†์Œ
    ํ”„๋กœ๊ทธ๋žจ. ์„ค๋ช…: ์ด ํ”„๋กœ๊ทธ๋žจ์€
    ๋งจํŽ˜์ด์ง€๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์„ ์‹คํ–‰
    ๋„์›€๋ง ์Šค์œ„์น˜๋กœ ๋ฌด์—‡์„ ๋ณผ ์ˆ˜ ์žˆ๋Š”์ง€
    ํ•˜๋‹ค. ์— ๋Œ€ํ•œ ...
    gapi2-codegen ์‹คํ–‰
  • ๋”ยป

Ad