ê¶í ê²ì¬
í°í¤ ê¶í ê²ì¬ (Tiki Permission Check, TPC): í°í¤ ì¤ì¹ê° ì¤í¨í ê²½ì° ì ë³´ì ì¶ê° ìì¤.
2012 ë
10ì ì´í, (본 íì´ì§ì 첨ë¶ë) ë
립íì¼ë¡ ì¡´ì¬íë©°, ëí Tiki10 ì 기ë¥ì¼ë¡ì í¬í¨ë¨.
1. ê°ì
í°í¤ ê¶í ê²ì¬ë 무ìì¸ê°?
ë§ì½ í°í¤ ì¤ì¹ê´ë¦¬ìì tiki-check.php ê° ì¤í¨íë¤ë©´, í°í¤ ê¶í ê²ì¬ë¥¼ ì¬ì©íì¬ ì¹ìë²ê° ìêµ¬ë¡ íë íì¼ìì¤í
ê¶íì ê´í ì¶ê° ìì¸ë´ìì ë°ê²¬íì¬ ì ëë¡ ìëíëë¡ ì¤ì ëëë¡ ì¬ì©ë ì ììµëë¤. í°í¤ ê¶í ê²ì¬ì ëí ê¶íì ìëì ì¼ë¡ ê³ ì ë ì ìê±°ë (FPT í¹ì SSH 를 íµíê±°ë ë¤ë¥¸ ì ì 근방ìì íµíì¬ ìì ê°¯ìì íì¼ ì ì¡ íì) í¹ì í¬í¨ë ì¤í¬ë¦½í¸ë¥¼ íµí ì ììµëë¤. í°í¤ ê¶í ê²ì¬ë í°í¤ë¥¼ ì¹ìë² ììì ì¤íí기 ìíì¬ ì´ë¤ íì¼ ìì¤í
ê¶íì´ íìíì§ë¥¼ ììë´ê¸° ìíì¬ ì¬ì©ë ì ììµëë¤. ì´ ê¶í ì¤ì ì ë
í¹í íìê° ììµëë¤, ê·¸ë 기 ë문ì ê·íë ê·íê²ì ìíìê±°ë íìì í¬ìí ë³´ì ë±ê¸ì ìì¡´íì¬ ì íì ë ëê±°ë ë ëëë¡ ì íí ì ììµëë¤.
í°í¤ ê¶í ê²ì¬ë í°í¤ ìì ì¼ë¡ë¶í° ë
립ì ì¸ íì¼ ê¶í 문ì ë¤ì ììë´ëë° ì¬ì©ë ì ììµëë¤. ì´ë¬í ê²½ì°, íì¼ ê¶íì ìëì ì¼ë¡ ì¡°ì ëê±°ë ë¤ë¥¸ íë¡ì í¸ì ì ì í ì´ë í ë°©ìì íµíì¬ ì¡°ì ëì´ì¼ë§ í©ëë¤.
í°í¤ë¥¼ ì¤ì¹íëë° ì 보를 ì¬ì©í기ì ê°ì¥ í¸ë¦¬í ë°©ìì setup.sh ìì ì íµíë ê²ì
ëë¤. (곧 ì¶ì ìì )
ì¬ì ì ìë ê¶í 모ë¸
ë¤ìí ì¹ìë² ì¤ì ë° ì¬ë¡ë¡ ì¸íì¬, TPCë ë¤ìí ì¬ì ì ìë 모ë¸ë¤ì ì ê³µíì¬ ì¤ì¹ê° ê·¸ë¤ê³¼ ìëí ì§ ì¬ë¶ë¥¼ íì¸íëë¡ í©ëë¤. ì¬ë°ë¥¸ 모ë¸(ë¤)ì´ ìë ¤ì§ê²ëë©´, ì ì í ëª
ë ¹ì´ì í¨ê» ì¤ì¹ ì¼ë¦¡í¸ë¥¼ ì¤ííëë° ì¬ì©ë ì ììµëë¤. ë´ì¥ ê¶í ëª¨ë¸ (2012-11-11 ë¶í° í¨ë ¥ìì)
- insane
- mixed
- morepain
- moreowrry
- pain
- paranoia
- paranoia-suphp
- risky
- sbox
- worry
ì ì ê·¼ ìë¤ë©´, ê¶íì FTP í¹ì ë¤ë¥¸ ë°©ìì ìíì¬ ì¤ì ëì´ì¼ í©ëë¤. ì´ë ë§ì ìì
ì´ ë ìë ììµëë¤, ê·¸ ì´ì ë ì´ë¤ íì¼ê³¼ ìë¸ëë í 리ë¤ì´ ì°ê¸°ê°ë¥í´ì¼íì§ë§, ì°ê¸°ê°ë¥í íìê° ìë ê²ë¤ì ì°ê¸° ê¶íì´ ì£¼ì´ì§ë©´ ìë기 ë문ì
ëë¤. ì´ìì ì´ë¼ë©´, ì´ë¬í ì¤ì¹ë¤ (ì: ê³µì í¸ì¤í
)ì´ SuPHP ì¹ìë² ë³´í¸ë¥¼ ì¬ì©íì¬ ê¶íì ì ì©í ë¨ê³ê¹ì§ (ë¹ë¡ ì´ë¡ ì ìµì ìíê° ìëì§ë¼ë) ì¤ì íë ê²ì´ ìì½ê² ëë ê²ì
ëë¤.
ì´ëìì 구í ì ìë?
í°í¤ ê¶í ê²ì¬ë í¸ë í¬ì ì ê³µëë©° ë
립íì¼ë¡ ë¤ì´ë¡ë ë ì ììµëë¤. Tiki10 ë´ë¶ìë ì ê³µë©ëë¤ (2012-10-22 ì´íë¶í°). ë
립í ë²ì ì í°í¤ì ê·¸ ì´ë í ë²ì ê³¼ë ìëì í ê²ì
ëë¤ (íì¬ ì측ì ìëì í´ì¼íë¤ê³ ë³´ê³ ììµëë¤) 본 íì´ì§ì íë¨ì, ìí ë²ì ì´ ì²¨ë¶ëì´ ììµëë¤.
ê°ì¥ ìµì ë²ì ì ì½ëë ë¤ì ìì¹ì ììµëë¤:
2. í°í¤ ê¶í ê²ì¬ íì±í ë° ë¹íì±í í기
ì¤ìí 문ì ë í°í¤ ê¶í ê²ì¬ë¥¼ íì±í ë° ë¹íì±í íë ê²ì
ëë¤. íìí ì 보를 ì·¨ëíì¼ë©´, ë¹íì±ííë ê²ì ê°ë ¥ ì¶ì²í©ëë¤, ì´ë ëªëª íìëë í°ë¦¬ë¤ì´ í
ì¤í¸ 목ì ì¼ë¡ ì ì ì°ê¸° ê°ë¥íê² ì¤ì ëë©° íì¼ë¤ì ìì ê¶ ( (user/group) ì´ ëì¤ìê² ë
¸ì¶ë기 ë문ì
ëë¤ (íì§ë§, ì¹ìë²ì ì¤ì ì ë°ë¼, ê°ë¥íë¤ë©´ htaccess ë³´í¸ë¥¼ ì¬ì©í ìë ìì¼ì¤ ê²ì
ëë¤).
2.1. í°í¤ ê¶í ê²ì¬ë¥¼ ììì ì´ì©
sh (í¹ì bash, dash) ì ê°ì ìì ì¬ì©íì¬ í°í¤ 문ì 루í¸ì ìë prepare_permissioncheck.sh ì¤í¬ë¦½í¸ë¥¼ ì¤ííììì¤.
2.1.1. ì¤í¬ë¦½í¸ ê¶í ì¤ì
í°í¤ì 문ì 루í¸ì ìì:
chmod 600 prepare_permissioncheck.sh
2.1.2. htaccess ê¶í ì¤ì
í°í¤ì 문ì 루í¸ì ìì:
chmod 644 permissioncheck/.htaccess
ë§ì½ .htaccess ì´ ì¡´ì¬íì§ë§ ì¹ìë²ìì ì½ì ì ìë¤ë©´, 문ì ê° ë°ìí ìë ììµëë¤.
ì´ë í°í¤ ê¶í ê²ì¬ê° ì ì¤í¬ë¦½í¸ì ìíì¬ íì±í í¹ì ë¹íì±í ë ëë§ë¤ ì§íë©ëë¤. ê·¸ë¬ë¯ë¡ ëë¶ë¶ì ê²½ì°, ìëì¼ë¡ ì§íí íìê° ììµëë¤.
2.1.3. ìì íµíì¬ íì±í
í°í¤ì 문ì 루í¸ì ìì:
sh prepare_permissioncheck.sh enable
2.1.4. ìì íµíì¬ ë¹íì±í
í°í¤ì 문ì 루í¸ì ìì:
sh prepare_permissioncheck.sh disable
2.2. í°í¤ ê¶í ê²ì¬ë¥¼ FTP 를 íµíì¬ ì¬ì©
ì ì ê·¼ì´ ìì´ ê¶íì ì¤ì íë ê²ì ì¬ì´ ê²ì´ ìëëë¤. ì§ì íì¼ ê¶íì ì¤ì íê³ ì
ë¡ë를 íê±°ë FTP를 íµíì¬ íì¼ì ì¤ì í ì ììµëë¤ (ë ê²½ì° ëª¨ë: enable/disable). ì¶ê°ë¡ í°í¤ ê¶í ê²ì¬ë¥¼ íì±í íë ¤ë©´ permissioncheck/yes.bin 를 permissioncheck/permission_granted.bin ë¡ ë³µì¬íê³ ë¹íì± íë ¤ë©´ permissioncheck/no.bin 를 permissioncheck/permission_granted.bin ë¡ ë³µì¬íì¬ì¼ í©ëë¤. (ë ê²½ì° ëª¨ë: ê·¸ í FTP ë¡ ë¤ìì ì
ë¡ë í©ëë¤ permissioncheck/permission_granted.bin ).
2.2.1. FTP chmod 를 íµí ì¼ë° ì¤ì
chmod 755 permissioncheck
chmod 644 permissioncheck/check.php
chmod 644 permissioncheck/functions.php.inc
chmod 600 permissioncheck/_htaccess
chmod 644 permissioncheck/.htaccess if it exists
chmod 600 permissioncheck/.htpasswd
chmod 644 permissioncheck/index.php
chmod 444 permissioncheck/no.bin
chmod 444 permissioncheck/permission_print.php.inc
chmod 644 permissioncheck/permission_granted.bin
chmod 644 permissioncheck/permission_granted.php.inc
chmod 644 permissioncheck/usecases.php.inc
chmod 644 permissioncheck/usecases.txt
chmod 444 permissioncheck/yes.bin
htaccess ê¶í ì¤ì
ë§ì½ í°í¤ ê¶í ê²ì¬ê° permissioncheck/ ë´ë¶ì 기존ì .htaccess ì ìíì¬ ë³´í¸ëë¤ë©´, í°í¤ 문ì 루í¸ì ë¤ìì íì¸íììì¤:
chmod 644 permissioncheck/.htaccess
ë§ì½ .htaccess ê° ì¡´ì¬íì§ë§ ì¹ìë²ìì ì½ì´ë¤ì¼ ì ìë¤ë©´, 문ì ê° ë°ìí ìë ììµëë¤.
2.2.2. via FTP chmod 를 íµíì¬ íì±í
permissioncheck/new_htaccess 를 (ììì ë´ì©ì¼ë¡) ìì±, permissioncheck/yes.bin 를 permissioncheck/permission_granted.bin ì ë³µì¬íê³ ë ë¤ ì
ë¡ë, ë¤ìê³¼ ê°ì´ FTP ìë²ìì íì¼ ê¶í ë³ê²½:
chmod 644 permissioncheck/create_new_htaccess.php
chmod 777 permissioncheck/insane
chmod 777 permissioncheck/insane/check.php
chmod 700 permissioncheck/mixed
chmod 660 permissioncheck/mixed/check.php
chmod 705 permissioncheck/morepain
chmod 606 permissioncheck/morepain/check.php
chmod 705 permissioncheck/moreworry
chmod 604 permissioncheck/moreworry/check.php
chmod 666 permissioncheck/new_htaccess
chmod 701 permissioncheck/pain
chmod 606 permissioncheck/pain/check.php
chmod 770 permissioncheck/paranoia
chmod 600 permissioncheck/paranoia/check.php
chmod 701 permissioncheck/paranoia-suphp
chmod 600 permissioncheck/paranoia-suphp/check.php
chmod 775 permissioncheck/risky
chmod 664 permissioncheck/risky/check.php
chmod 701 permissioncheck/worry
chmod 604 permissioncheck/worry/check.php
2.2.3. FTP chmod 를 íµíì¬ ë¹íì±í
permissioncheck/no.bin 를 permissioncheck/permission_granted.bin ë¡ ë³µì¬íê³ ì
ë¡ë, FTP ìë²ìì ë¤ìê³¼ ê°ì´ ê¶í ì¤ì ë³ê²½:
chmod 000 permissioncheck/create_new_htaccess.php
chmod 700 permissioncheck/insane
chmod 600 permissioncheck/insane/check.php
chmod 700 permissioncheck/mixed
chmod 600 permissioncheck/mixed/check.php
chmod 700 permissioncheck/morepain
chmod 600 permissioncheck/morepain/check.php
chmod 700 permissioncheck/moreworry
chmod 600 permissioncheck/moreworry/check.php
chmod 600 permissioncheck/new_htaccess
chmod 700 permissioncheck/pain
chmod 600 permissioncheck/pain/check.php
chmod 700 permissioncheck/paranoia
chmod 600 permissioncheck/paranoia/check.php
chmod 700 permissioncheck/paranoia-suphp
chmod 600 permissioncheck/paranoia-suphp/check.php
chmod 700 permissioncheck/risky
chmod 600 permissioncheck/risky/check.php
chmod 700 permissioncheck/worry
chmod 600 permissioncheck/worry/check.php
3. ê¶í ê°ì: ìì
http://example.org/permissioncheck/
http://demo.tiki.org/pd/permissioncheck/
http://demo.tiki.org/10x/permissioncheck/
http://demo.tiki.org/trunk/permissioncheck/
3.1. í°í¤ ê¶í ê²ì¬ ì¬ì©í기
ìì ì í°í¤ ì¤ì¹ ê²½ë¡ /permissioncheck/ 를 방문íë©´ TPC ë©ì¸ íì´ì§ë¥¼ ë³´ê² ë ê²ì
ëë¤. ìì ìì ìì example.com ëë©ì¸ì ê·íì ëë©ì¸ì¼ë¡ êµì²´íììì¤. íì´ì§ê° ì´ê²ì ë¹íì±í ëì´ììµëë¤ ë¼ê³ ë§íë©´, íì±í를 í´ì£¼ì
ì¼ í©ëë¤. ì´ë¬í ê¶íë¤ì ëíì¬ ëª¨ë ê¶í 모ë¸, ì¬ì©ì, 그룹 ë° íì¼ ê¶í ì´ ë³´ì¬ì¼ íë©°, ì´ ëª¨ë¸ì´ ìëì í ê²ì¸ì§ ì¬ë¶ì ëí íí¸ë ë³´ì¬ì¼ í©ëë¤. ìëì í ê² ê°ì 모ë¸ëª
ì 기ë¡í´ëììì¤. íì íìíê² ë ê²ì
ëë¤
4. í°í¤ ê¶í ê²ì¬ë¡ë¶í°ì ì ë³´ ì¬ì©í기
4.1. ì ì ê·¼
í°í¤ ë£¨í¸ ëë í°ë¦¬ë¡ ê°ì ì¤ì¹ ì¤í¬ë¦½í¸ë¥¼ ìëí ê²ì²ë¼ ë³´ì´ë 모ë¸ëª
ì¤ íëì í¨ê» ì¤ííììì¤:
sh setup.sh $model ↵
ì¬ê¸°ì $model 를 ìì ì ì´ëì¼ì ê²ì¼ë¡ êµì²´íììì¤. ì´ ëª¨ë¸ì´ ì¬ì í ìëíì§ ìëë¤ë©´, ë¤ë¥¸ ê²ì¼ë¡ ìëíììì¤. ìëíë 모ë¸ì´ ìë¤ë©´, íëì© ë²ê°ì ê°ë©° 모ë ì¬ì ì ìë 모ë¸ë¤ì ìëí´ ë³´ìê³ ê²°ê³¼ë¥¼ ì§ì¼ë³´ììì¤
5. setup.sh ì ëª
ë ¹ì´
5.1. ì¼ë° ëª
ë ¹ì´
5.2. ì íµ ëª
ë ¹ì´
5.3. ì¬ì ì ìë 모ë¸ë¤
- insane
- morepain
- moreworry
- pain
- paranoia
- paranoia-suphp
- risky
- sbox
- worry
5.4. ë¯¸ì¸ ì¡°ì ê°ë¥í ê¶í ë¶ë¶ë¤
5.4.1. ì ì²´ í°í¤ í¸ë¦¬
- gmr
- gmw
- gmx
- gpr
- gpw
- gpx
- omr
- omw
- omx
- opr
- opw
- opx
- umr
- umw
- umx
- upr
- upw
- upx
5.4.2. í¹ì ëë í°ë¦¬ (ì¹ìë² ì°ê¸° ì ê·¼)
- sdgmw
- sdgpw
- sdomw
- sdopw
- sdumw
- sdup↵
6. ì¬ì©ì ì§ì ë ì¬ì© ì¼ì´ì¤
ê²½ê³ : ì´ë³´ììê²ë ê¶ì¥ëì§ ììµëë¤
ììì ì¬ì©ì ì¼ì´ì¤ê° ì¶ê°ë ì ììµëë¤. ì´ë 3ë¨ê³ë¥¼ íµíì¬ ë¹ ë¥´ê³ ì½ê² ì´ë£¨ì´ì§ëë¤:
1) ì¬ì© ì¼ì´ì¤ëª
ì ì ìíê³ ì´ ì´ë¦ì ìë¸ëë í°ë¦¬ permissioncheck/ ì ë°ì ì´ ì´ë¦ì¼ë¡ ëë í°ë¦¬ë¥¼ ì¶ê°íê³ permissioncheck/check.php 를 ì ì¬ì©ì ì¼ì´ì¤ ìë¸ëë í°ë¦¬ë¡ ë³µì¬íììì¤.
2) 8ì§ë²ì ìë¸ëë í°ë¦¬ ì½ê¸° (기본) ê¶í, 8ì§ë²ì ìë¸ëë í°ë¦¬ ì°ê¸° ê¶í ë° 8ì§ë²ì íì¼ ì°ê¸° ê¶íì ì ìíììì¤. A-+permissioncheck/usecases.bin+- ì ì´ë¦ê³¼ ê¶íì ì½ë¡ ì¼ë¡ 구ë¶íì¬ ì¶ê°íììì¤. ì¤ ëë¶ë¶ìì ì¡°ì¬íììì¤, ì í (CR) ê³¼ ìëì° (CR+LF) ë ìì§ ìííì§ ìììµëë¤.
3) ì¬ì©ì ì¼ì´ì¤ë¥¼ í°í¤ì 주 ëë í°ë¦¬ ë´ë¶ì setup.sh ì ì¶ê°íììì¤. 주 íë¡ê·¸ë¨ ë´ë¶ì ì¤í¬ë¦½í¸ì ë§ì§ë§ ë¶ë¶: copy the line php) permission_via_php_check ;; ì¤ì ë³µì¬íìê³ (ì ì¤ìì í´ì¼ë§ í©ëë¤) ììíë php) 를 name) ì¼ë¡ êµì²´íììì¤, ì¬ê¸°ì name ì ìì 1)ìì ì íí ê²ì
ëë¤.
7. ê´ë ¨ 컨í
ì¸
|