데비안 커널에서 사용자 네임 스페이스 활성화


28

커널에서 사용자 네임 스페이스 기능을 활성화하는 방법을 찾으려고합니다 (CAP_SYS_USER_NS라고 생각합니다). 커널 4.6.0-1-amd64 인 데비안 스트레치를 사용하고 있습니다.

내 가정은 사용자 네임 스페이스를 켜고 커널을 다시 컴파일하는 방법이 있다는 것입니다. 몇 시간 동안 검색 한 후 우분투 ( https://blog.tutum.co/2013/12/14/enabling-the-user-namespace-in-ubuntu-13-10-saucy/) 에서이 게시물을 찾을 수 있습니다 )이지만 데비안은 아닙니다 (문제가 잘못 진행되어 검색이 기본이 아닙니다).

내 최종 게임은 커널에서 사용자 네임 스페이스를 활성화 해야하는 Docker 및 Google 샌드 박스를 유지하기 위해이를 활성화하는 것입니다 (예 : Chrome 컨테이너가 더 이상 작동하지 않음).


1
또한 같은 질문을 참조하십시오 : unix.stackexchange.com/q/303213/4319
imz-Ivan Zakharyaschev

답변:


38

데비안 사용자는 컴파일되어 있지만 기본적으로 비활성화되어 있습니다. 이 sysctl 노브를 추가하는 데비안 특정 패치가 커널에 있습니다 : kernel.unprivileged_userns_clone

새 항목을 추가하고 /etc/sysctl.d1로 설정해야합니다.

수동으로 : echo 1 > /proc/sys/kernel/unprivileged_userns_clone(재부팅 할 때까지만 활성화)

영구적 인 해결책 :

echo 'kernel.unprivileged_userns_clone=1' > /etc/sysctl.d/00-local-userns.conf
service procps restart

동등한 부팅 옵션 매개 변수가있을 수 있습니다. 모름입니다.


1
이것은 여전히 ​​Stretch, kernel에서 작동합니다 4.9.0-1-amd64 #1 SMP Debian 4.9.6-3 (2017-01-28) x86_64 GNU/Linux.
Reid

1
데비안에서 기본적으로 비활성화되어있는 이유가 있습니까?
Melroy

2
역사적으로 사용자 네임 스페이스의 보안은 확실하지 않았습니다. 예를 들면 : lwn.net/Articles/673597 . 사용자가 자신의 네임 스페이스 내부의 루트로서 커널이 실제 호스트에서 작업을 허용하도록 속일 수있는 경우 권한 상승이 있습니다. 일반적인 비 사용자 네임 스페이스에는 명시적인 루트 (관리자) 권한이 필요하므로 관리자가 선택한 것을 실행하십시오. 알려진 위험입니다. 이후의 메커니즘은 바닐라 커널에 추가되었습니다 : user.max_user_namespaces. 0으로 설정하면 사용자 네임 스페이스가 비활성화됩니다. 데비안 (실제로 우분투에서 온) 패치는 아직 쓸모가 없더라도 여전히 남아 있습니다. 아마 호환성 이유로
AB

1
커널 4.18.3은 아직 데비안에서 출시되지 않았으므로 커널은 데비안 테스트의 커널이 아닙니다. 이 파라미터를 완전히 무시할 수 있습니다 (Debian에서 실제 커널을 설치할 때까지). 또한 user.max_user_namespaces
AB

3
또는 간단히 : sudo sysctl -w kernel.unprivileged_userns_clone=1.
Skippy le Grand Gourou
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.