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