From a3e596c3a54bc3330b6f974e3ebf70c1b6bdd24a Mon Sep 17 00:00:00 2001 From: Sungbae Yoo Date: Thu, 25 Feb 2016 15:21:10 +0900 Subject: [PATCH 1/5] doc: Add LXC_CGNS_AWARE env to Korean lxc.container.conf(5) Update for commit c4cafa0 Signed-off-by: Sungbae Yoo --- doc/ko/lxc.container.conf.sgml.in | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/doc/ko/lxc.container.conf.sgml.in b/doc/ko/lxc.container.conf.sgml.in index 6d2d71ccf..9522a876c 100644 --- a/doc/ko/lxc.container.conf.sgml.in +++ b/doc/ko/lxc.container.conf.sgml.in @@ -2189,6 +2189,25 @@ mknod errno 0 + + + + + + + + + 이 변수가 지정되지 않았다면, 현재 버전의 lxc는 cgroup 네임스페이스를 지원하지 않는다. 만약 지정되었고 값이 1이라면, lxc는 cgroup 네임스페이스를 지원하는 것이다. 단, kernel에서의 cgroup 네임스페이스 지원을 보장하는 것이 아님에 주의해야 한다. lxcfs 마운트 훅에서 사용된다. + + + + From 1e4fe6112c78b20aa1854dd2b4ef6837d45c9976 Mon Sep 17 00:00:00 2001 From: Sungbae Yoo Date: Thu, 25 Feb 2016 15:39:00 +0900 Subject: [PATCH 2/5] doc: Add the Korean description of cgns apparmor profile in lxc.container.conf Update for commit 7a126ae Signed-off-by: Sungbae Yoo --- doc/ko/lxc.container.conf.sgml.in | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/doc/ko/lxc.container.conf.sgml.in b/doc/ko/lxc.container.conf.sgml.in index 9522a876c..4b168858a 100644 --- a/doc/ko/lxc.container.conf.sgml.in +++ b/doc/ko/lxc.container.conf.sgml.in @@ -1611,9 +1611,11 @@ proc proc proc nodev,noexec,nosuid 0 0 If lxc was compiled and installed with apparmor support, and the host system has apparmor enabled, then the apparmor profile under which the container should be run can be specified in the container - configuration. The default is lxc-container-default. + configuration. The default is lxc-container-default-cgns + if the host kernel is cgroup namespace aware, or + lxc-container-default othewise. --> - lxc가 apparmor를 지원하도록 컴파일된 후 설치되었고, 호스트 시스템에서 apparmor가 활성화되었다면, 컨테이너에서 따라야할 apparmor 프로파일을 컨테이너 설정에서 지정할 수 있다. 기본값은 lxc-container-default이다. + lxc가 apparmor를 지원하도록 컴파일된 후 설치되었고, 호스트 시스템에서 apparmor가 활성화되었다면, 컨테이너에서 따라야할 apparmor 프로파일을 컨테이너 설정에서 지정할 수 있다. 기본값은 호스트 커널이 cgroup 네임스페이스를 지원하면 lxc-container-default-cgns이고, 그렇지 않다면 lxc-container-default이다. @@ -1631,6 +1633,14 @@ proc proc proc nodev,noexec,nosuid 0 0 컨테이너가 apparmor로 인한 제한을 받지 않도록 하려면, 아래와 같이 지정하면 된다. lxc.aa_profile = unconfined + + + apparmor 프로파일이 변경되지 않아야 한다면(중첩 컨테이너 안에 있고, 이미 confined된 경우), 아래와 같이 지정하면 된다. + + lxc.aa_profile = unchanged From eae7ec6edca67f6b7cb53818cce41290b6cd7138 Mon Sep 17 00:00:00 2001 From: Sungbae Yoo Date: Fri, 26 Feb 2016 18:39:09 +0900 Subject: [PATCH 3/5] doc: Update Korean lxc-attach(1) Update for commit e986ea3 Signed-off-by: Sungbae Yoo --- doc/ko/lxc-attach.sgml.in | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/doc/ko/lxc-attach.sgml.in b/doc/ko/lxc-attach.sgml.in index f8e23f808..cc244d16e 100644 --- a/doc/ko/lxc-attach.sgml.in +++ b/doc/ko/lxc-attach.sgml.in @@ -91,6 +91,29 @@ by Sungbae Yoo 만약 command가 지정되지 않았다면, lxc-attach가 현재 실행 중인 쉘이 컨테이너 안에도 있는지 검사하고 이를 실행한다. 만약 컨테이너 안에 사용자가 존재하지 않거나, nsswitch가 제대로 동작하지 않는 경우에는 이 명령이 실패하게 된다. + + + 이전 버전의 lxc-attach는 단순히 컨테이너의 특정 네임스페이스에 붙어, 쉘을 실행하거나 pseudo 터미널 할당 없이 특정 명령어를 실행하였다. + 이는 다른 특권 수준을 갖는 사용자 영역 컨텍스트 간의 전환후 TIOCSTI ioctl를 호출하여 입력을 가로챌 수 있는 취약점이 있다. + 새로운 버전의 lxc-attach는 쉘이나 명령어를 실행하기 전에, pseudo 터미널 마스터/슬레이브 쌍을 할당하고, 터미널을 가리키고 있던 표준 입출력 파일 디스크립터들은 슬레이브 pseudo 터미널로 붙인다. lxc-attach는 처음에 컨테이너 내부에 pseudo 터미널을 할당한다. 만약 이것이 실패하면, 호스트에 할당하고, 이마저 실패하면 할당을 포기한다. + 터미널을 가리키고 있던 표준 입출력 파일 디스크립터가 아예 없었다면, lxc-attach는 pseudo 터미널 할당을 시도하지 않는다. 단순히 컨테이너 네임스페이스에 붙어 쉘이나 지정한 명령어만 실행할 뿐이다. + @@ -402,6 +425,21 @@ by Sungbae Yoo 이러한 문제를 해결하기 위해, 옵션이 제공된다. 해당 옵션은 attach되는 프로세스의 네트워크/pid 네임스페이스를 반영하기 위해 /proc/sys를 다시 마운트한다. 호스트의 실제 파일시스템에 방해가 되지 않기 위해 마운트 네임스페이스는 공유되지 않는다(lxc-unshare의 동작과 비슷). /proc/sys 파일시스템을 제외하고 호스트 마운트 네임스페이스와 동일한 새로운 마운트 네임스페이스가 주어지게 된다. + + + + 이전 버전의 lxc-attach는 몇몇 중요한 서브시스템에 쓰기가 가능한 cgroup 내에 없더라도, 사용자가 컨테이너의 네임스페이스에 연결할 수 있는 버그가 있었다. + 새로운 버전의 lxc-attach는 현재 사용자가 몇몇 중요한 서브시스템에 쓰기 권한이 있는 cgroup에 속하는지 여부를 검사한다. 그러므로 lxc-attach는 사용자에 따라 실패하는 경우도 있다. (예를 들어, 로그인 시 비특권 사용자가 중요 서브시스템에 쓰기가 가능한 cgroup에 위치하지 않은 경우) 하지만 이러한 동작은 정확한 것이고 더 안전한 것이다. + From 77fbb4d2d9580887b984ee29cf36042d1384de06 Mon Sep 17 00:00:00 2001 From: Sungbae Yoo Date: Fri, 26 Feb 2016 19:16:07 +0900 Subject: [PATCH 4/5] doc: Update Korean lxc-clone(1) and lxc-start-ephemeral(1) Update for commit 2ae6732. Signed-off-by: Sungbae Yoo --- doc/ko/lxc-clone.sgml.in | 11 +++++++++++ doc/ko/lxc-start-ephemeral.sgml.in | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/doc/ko/lxc-clone.sgml.in b/doc/ko/lxc-clone.sgml.in index c5f67666d..b610119d7 100644 --- a/doc/ko/lxc-clone.sgml.in +++ b/doc/ko/lxc-clone.sgml.in @@ -339,6 +339,17 @@ by Sungbae Yoo + + <!-- Notes -->주의 + + + lxc-clonelxc-copy로 대체되었으며, 제거될 예정이다. + + + &seealso; diff --git a/doc/ko/lxc-start-ephemeral.sgml.in b/doc/ko/lxc-start-ephemeral.sgml.in index 2ae544f4b..48947f646 100644 --- a/doc/ko/lxc-start-ephemeral.sgml.in +++ b/doc/ko/lxc-start-ephemeral.sgml.in @@ -281,6 +281,17 @@ by Sungbae Yoo + + <!-- Notes -->주의 + + + lxc-start-ephemerallxc-copy로 대체되었으며, 제거될 예정이다. + + + &seealso; From bcd7520a48f77dad266b4a78575cf791439d5c73 Mon Sep 17 00:00:00 2001 From: Sungbae Yoo Date: Fri, 26 Feb 2016 19:32:12 +0900 Subject: [PATCH 5/5] doc: Add the Korean description that automount is ignored when cgroup namespaces are supported. Update for commit 4608594 Signed-off-by: Sungbae Yoo --- doc/ko/lxc-attach.sgml.in | 25 +++++++++++-------------- doc/ko/lxc.container.conf.sgml.in | 11 ++++++++++- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/doc/ko/lxc-attach.sgml.in b/doc/ko/lxc-attach.sgml.in index cc244d16e..b863dd76e 100644 --- a/doc/ko/lxc-attach.sgml.in +++ b/doc/ko/lxc-attach.sgml.in @@ -94,25 +94,22 @@ by Sungbae Yoo - 이전 버전의 lxc-attach는 단순히 컨테이너의 특정 네임스페이스에 붙어, 쉘을 실행하거나 pseudo 터미널 할당 없이 특정 명령어를 실행하였다. + 이전 버전의 lxc-attach는 단순히 컨테이너의 특정 네임스페이스에 붙어, 쉘을 실행하거나 첫 번째 pseudo 터미널 할당 없이 특정 명령어를 실행하였다. 이는 다른 특권 수준을 갖는 사용자 영역 컨텍스트 간의 전환후 TIOCSTI ioctl를 호출하여 입력을 가로챌 수 있는 취약점이 있다. - 새로운 버전의 lxc-attach는 쉘이나 명령어를 실행하기 전에, pseudo 터미널 마스터/슬레이브 쌍을 할당하고, 터미널을 가리키고 있던 표준 입출력 파일 디스크립터들은 슬레이브 pseudo 터미널로 붙인다. lxc-attach는 처음에 컨테이너 내부에 pseudo 터미널을 할당한다. 만약 이것이 실패하면, 호스트에 할당하고, 이마저 실패하면 할당을 포기한다. - 터미널을 가리키고 있던 표준 입출력 파일 디스크립터가 아예 없었다면, lxc-attach는 pseudo 터미널 할당을 시도하지 않는다. 단순히 컨테이너 네임스페이스에 붙어 쉘이나 지정한 명령어만 실행할 뿐이다. + 새로운 버전의 lxc-attach는 쉘이나 명령어를 실행하기 전에, pseudo 터미널 마스터/슬레이브 쌍을 호스트에 할당하고 터미널을 가리키고 있던 표준 입출력 파일 디스크립터들은 슬레이브 pseudo 터미널로 붙인다. + 터미널을 가리키고 있던 표준 입출력 파일 디스크립터가 아예 없었다면, lxc-attach는 pseudo 터미널 할당을 시도하지 않음에 주의해야 한다. 단순히 컨테이너 네임스페이스에 붙어 쉘이나 지정한 명령어만 실행할 뿐이다. diff --git a/doc/ko/lxc.container.conf.sgml.in b/doc/ko/lxc.container.conf.sgml.in index 4b168858a..7ea67c04b 100644 --- a/doc/ko/lxc.container.conf.sgml.in +++ b/doc/ko/lxc.container.conf.sgml.in @@ -1233,7 +1233,7 @@ proc proc proc nodev,noexec,nosuid 0 0 the container's own cgroup into that directory. The container will be able to write to its own cgroup directory, but not the parents, since they - will be remounted read-only + will be remounted read-only. --> @@ -1360,6 +1360,15 @@ proc proc proc nodev,noexec,nosuid 0 0 + + + cgroup 네임스페이스가 사용 가능한 경우, 마운트 옵션들은 전부 무시될 것이다. 컨테이너가 직접 파일시스템을 마운트하기 때문이며, 컨테이너 초기화시 해당 옵션이 혼란을 줄 수 있기 때문이다. +