personality(2) - wariua/manpages-ko GitHub Wiki
personality - νλ‘μΈμ€ μ€ν λλ©μΈ μ€μ νκΈ°
#include <sys/personality.h>
int personality(unsigned long persona);리λ μ€λ κ° νλ‘μΈμ€λ§λ€ λ€λ₯Έ μ€ν λλ©μΈ, μ¦ μΈκ²©μ μ§μνλ€. μ€ν λλ©μΈμ μ¬λ¬ μν μ€μλ μκ·Έλ λ²νΈλ₯Ό μκ·Έλ λμμΌλ‘ μ¬μν λ°©μμ 리λ μ€μκ² μλ €μ£Όλ κ²μ΄ μλ€. μ€ν λλ©μΈ μμ€ν μ ν΅ν΄ 리λ μ€κ° λ€λ₯Έ μ λμ€ κ³μ΄ μ΄μ 체μ μμ μ»΄νμΌ ν λ°μ΄λ리λ₯Ό μ νμ μΌλ‘λλ§ μ§μν μ μλ€.
personaκ° 0xffffffffκ° μλλ©΄ personality()λ νΈμΆμμ μ€ν λλ©μΈμ personaλ‘ μ§μ ν κ°μΌλ‘ μ€μ νλ€. personaλ₯Ό 0xffffffffλ‘ μ§μ νμ¬ νμ¬ νλ₯΄μλλ₯Ό λ³κ²½ μμ΄ μ»μ΄μ¬ μ μλ€.
μ¬μ© κ°λ₯ν μ€ν λλ©μΈμ λͺ©λ‘μ <sys/personality.h>μμ μ°Ύμ μ μλ€. μ€ν λλ©μΈμ 32λΉνΈ κ°μ΄λ©° κ·Έ μ€ μμ μΈ λ°μ΄νΈλ 컀λμ΄ νΉμ μμ€ν
νΈμΆμ λμ λ°©μμ κ³Όκ±° λ΄μ§ μν€ν
μ²μ νμ λ νΉμ΄μ±μ νλ΄λ΄λλ‘ λ³κ²½νκ²λ νλ νλκ·Έλ€μ μν κ²μ΄λ€. μ΅νμ λ°μ΄νΈλ 컀λμ΄ μ·¨ν΄μΌ νλ μΈκ²©μ κ·μ νλ κ°μ΄λ€. νλκ·Έ κ°λ€μ λ€μκ³Ό κ°λ€.
-
ADDR_COMPAT_LAYOUT(리λ μ€ 2.6.9λΆν°) - μ΄ νλκ·Έκ° μ€μ λΌ μμΌλ©΄ ꡬμ κ°μ μ£Όμ κ³΅κ° λ μ΄μμμ μ 곡νλ€.
-
ADDR_NO_RANDOMIZE(리λ μ€ 2.6.12λΆν°) - μ΄ νλκ·Έκ° μ€μ λΌ μμΌλ©΄ μ£Όμ κ³΅κ° λ°°μΉ λ¬΄μμνλ₯Ό λλ€.
-
ADDR_LIMIT_32BIT(리λ μ€ 2.2λΆν°) - μ£Όμ 곡κ°μ 32λΉνΈλ‘ μ ννλ€.
-
ADDR_LIMIT_3GB(리λ μ€ 2.4.0λΆν°) - μ΄ νλκ·Έκ° μ€μ λΌ μμΌλ©΄ mmap(2)μμ κ°μ λ©λͺ¨λ¦¬ λ©μ΄λ¦¬λ₯Ό νμνλ μ€νμ μΌλ‘ 0xc0000000μ μ¬μ©νλ€. μλλ©΄ 0xffffe000μ μ¬μ©νλ€.
-
FDPIC_FUNCPTRS(리λ μ€ 2.6.11λΆν°) - μκ·Έλ νΈλ€λ¬μ λν μ¬μ©μ κ³΅κ° ν¨μ ν¬μΈν°κ° (νΉμ μν€ν μ²μμ) λμ€ν¬λ¦½ν°λ₯Ό κ°λ¦¬ν¨λ€.
-
MMAP_PAGE_ZERO(리λ μ€ 2.4.0λΆν°) - νμ΄μ§ 0μ μ½κΈ° μ μ©μΌλ‘ λ§΅ νλ€. (SVr4μ μ΄ λμ λ°©μμ μμ‘΄νλ λ°μ΄λ리λ₯Ό μ§μνκΈ° μν΄μ.)
-
READ_IMPLIES_EXEC(리λ μ€ 2.6.8λΆν°) - μ΄ νλκ·Έκ° μ€μ λΌ μμΌλ©΄ mmap(2)μμ
PROT_READκ°PROT_EXECλ₯Ό ν¨μνλ€. -
SHORT_INODE(리λ μ€ 2.4.0λΆν°) - ν¨κ³Ό μμ(?).
-
STICKY_TIMEOUTS(리λ μ€ 1.2.0λΆν°) - μ΄ νλκ·Έκ° μ€μ λΌ μμΌλ©΄ select(2), pselect(2), ppoll(2)μ΄ μκ·Έλ νΈλ€λ¬μ μν΄ μ€λ¨λ λ λ°νλλ νμμμ μΈμλ₯Ό λ³κ²½νμ§ μλλ€.
-
UNAME26(리λ μ€ 3.1λΆν°) - uname(2)μ΄ 3.x λ²μ λ²νΈ λμ 2.6.40+ λ²μ λ²νΈλ₯Ό λ³΄κ³ νκ² νλ€. 2.6.xμμ 3.xλ‘μ 컀λ λ²μ λΆμ¬ λ°©μ λ³κ²½μ μ²λ¦¬ν μ μλ λ¬Έμ μμ©λ€μ μ§μνκΈ° μν μμλ°©νΈμΌλ‘ μΆκ°λμλ€.
-
WHOLE_SECONDS(리λ μ€ 1.2.0λΆν°) - ν¨κ³Ό μμ(?).
μ¬μ© κ°λ₯ν μ€ν λλ©μΈμ λ€μκ³Ό κ°λ€.
-
PER_BSD(리λ μ€ 1.2.0λΆν°) - BSD. (ν¨κ³Ό μμ.)
-
PER_HPUX(리λ μ€ 2.4λΆν°) - 32λΉνΈ HP/UX μ§μ. μ΄ μ§μμ νλ²λ μλ²½ν μ μ΄ μλ€κ° κ²°κ΅ μ€λ¨λμκ³ , κ·Έλμ 리λ μ€ 4.0λΆν° μ΄ κ°μ ν¨κ³Όκ° μλ€.
-
PER_IRIX32(리λ μ€ 2.2λΆν°) - IRIX 5 32λΉνΈ. νλ²λ μμ νκ² λμν μ μ΄ μμκ³ λ¦¬λ
μ€ 2.6.27μμ μ§μ μ€λ¨λ¨.
STICKY_TIMEOUTSλ₯Ό ν¨μν¨. -
PER_IRIX64(리λ μ€ 2.2λΆν°) - IRIX 6 64λΉνΈ.
STICKY_TIMEOUTSλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ. -
PER_IRIXN32(리λ μ€ 2.2λΆν°) - IRIX 6 μ 32λΉνΈ.
STICKY_TIMEOUTSλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ. -
PER_ISCR4(리λ μ€ 1.2.0λΆν°) -
STICKY_TIMEOUTSλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ. -
PER_LINUX(리λ μ€ 1.2.0λΆν°) - 리λ μ€.
-
PER_LINUX32(리λ μ€ 2.2λΆν°) - [λ¬Έμν νμ.]
-
PER_LINUX32_3GB(리λ μ€ 2.4λΆν°) -
ADDR_LIMIT_3GBλ₯Ό ν¨μν¨. -
PER_LINUX_32BIT(리λ μ€ 2.0λΆν°) -
ADDR_LIMIT_32BITλ₯Ό ν¨μν¨. -
PER_LINUX_FDPIC(리λ μ€ 2.6.11λΆν°) -
FDPIC_FUNCPTRSλ₯Ό ν¨μν¨. -
PER_OSF4(리λ μ€ 2.4λΆν°) - OSF/1 v4. μνμμ, iov_lenλ₯Ό
intλ‘ μ μνλ OSF/1 μ΄μ λ²μ λ€κ³Όμ νΈνμ±μ μν΄ μ¬μ©μ λ²νΌμμ iov_lenμ μμ 32λΉνΈλ₯Ό λ λ¦°λ€. -
PER_OSR5(리λ μ€ 2.4λΆν°) -
STICKY_TIMEOUTSμWHOLE_SECONDSλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ. -
PER_RISCOS(리λ μ€ 2.2λΆν°) - [λ¬Έμν νμ.]
-
PER_SCOSVR3(리λ μ€ 1.2.0λΆν°) -
STICKY_TIMEOUTSμWHOLE_SECONDS,SHORT_INODEλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ. -
PER_SOLARIS(리λ μ€ 2.4λΆν°) -
STICKY_TIMEOUTSλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ. -
PER_SUNOS(리λ μ€ 2.4.0λΆν°) -
STICKY_TIMEOUTSλ₯Ό ν¨μν¨. λΌμ΄λΈλ¬λ¦¬ λ° λμ λ§μ»€ νμ μμΉλ₯Ό/usr/gnemulλ‘ λ°κΎΌλ€. λ²κ·Έκ° λ§κ³ μ λ°μ μΌλ‘ κ΄λ¦¬κ° μ λμκ³ κ±°μ μ°μ΄μ§ μμλ€. 리λ μ€ 2.6.26μμ μ§μμ΄ μ κ±°λλ€. -
PER_SVR3(리λ μ€ 1.2.0λΆν°) -
STICKY_TIMEOUTSμSHORT_INODEλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ. -
PER_SVR4(리λ μ€ 1.2.0λΆν°) -
STICKY_TIMEOUTSμMMAP_PAGE_ZEROλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ. -
PER_UW7(리λ μ€ 2.4λΆν°) -
STICKY_TIMEOUTSμMMAP_PAGE_ZEROλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ. -
PER_WYSEV386(리λ μ€ 1.2.0λΆν°) -
STICKY_TIMEOUTSμSHORT_INODEλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ. -
PER_XENIX(리λ μ€ 1.2.0λΆν°) -
STICKY_TIMEOUTSμSHORT_INODEλ₯Ό ν¨μν¨. κ·Έ μΈμλ μ무 ν¨κ³Ό μμ.
μ±κ³΅ μ μ΄μ personaλ₯Ό λ°ννλ€. μ€λ₯ μ -1μ λ°ννλ©° errnoλ₯Ό μ μ ν μ€μ νλ€.
EINVAL- 컀λμμ μΈκ²©μ λ°κΏ μ μλ€.
리λ μ€ 1.1.20μμ (λ°λΌμ μμ 컀λ 릴리μ€λ‘λ 리λ μ€ 1.2.0μμ) μ΄ μμ€ν νΈμΆμ΄ μ²μ λ±μ₯νλ€. glibc 2.3μμ λΌμ΄λΈλ¬λ¦¬ μ§μμ΄ μΆκ°λμλ€.
personality()λ 리λ
μ€ μ μ©μ΄λ―λ‘ μ΄μμ±μ΄ μμ΄μΌ νλ νλ‘κ·Έλ¨μμλ μ¬μ©νμ§ λ§μμΌ νλ€.
setarch(8)
2017-09-15