우리 학급은 마침내 우리 컴퓨터에 Mint Linux를 설치했습니다. 문제는 우리 선생님이 우리가 컴퓨터를 사용하여 두 학급과 전쟁 게임을 할 것을 두려워한다는 것입니다. 그의 해결책은 두 개의 별도 운영 체제를 설치하는 것이었습니다. 이 사실 때문에 우리에게는 sudo 기능이 필요했지만 그는 우리가 (전쟁 게임을 하거나 실수를 해서) 다른 사람의 운영 체제를 손상시키는 것을 원하지 않았습니다. 그의 해결책은 두 개의 별도 운영 체제를 설치하는 것이었지만 여러 가지 이유로 이 아이디어가 마음에 들지 않습니다. 첫째, 파티션 수를 제한하는 MBR이 있습니다. 둘째, 둘 다 Mint Linux이기 때문에 짜증나므로 잘못된 것을 선택하는 경우가 많습니다. 한 운영 체제가 다른 운영 체제를 망칠 수 없도록 두 운영 체제를 분리하는 방법을 아는 사람이 있습니까? 별도의 파티션을 사용하여 전쟁 게임을 할 수 있고 덜 중요하기 때문에 전쟁 게임을 하는 것에 대해 크게 걱정하지 않습니다. 누구든지 아이디어가 있나요?
사용자의 권한을 제한하는 동시에 루트 사용을 허용하는 것을 고려 중입니다. 그러나 이로 인해 나중에 문제가 발생할 수 있습니다. 물론 교사는 루트 계정을 제어해야 합니다.
답변1
두 가지 분명한 대답이 있습니다.
- 각 사용자에게 고유한 가상 머신 이미지를 제공합니다. 가상 머신 내부에서는 사용자가 가상 머신 외부에서 루트 액세스 권한을 갖습니다. 귀하의 하드웨어가 이를 지원한다면
kvm
이것은 잘 작동할 것입니다 . 가상 머신 이미지는 파일일 뿐이므로 복사 등이 쉽습니다. 기록 중 복사 저장소를 사용하면 일부 디스크 공간을 절약할 수 있습니다(문제가 되는 경우). - Linux 3.8의 멋진 네임스페이스 지원을 사용하면 기본적으로 컴퓨터의 모든 사람이 자신의 영역에서 루트 권한을 가질 수 있습니다. 특히 루트가 필요한 것에 따라 다릅니다. (실제로 네임스페이스 내에서 전체 독립 배포판을 실행할 수 있지만 동일한 커널을 공유하면 됩니다.)
별도의 파티션과 달리(매우루트를 망가뜨리는 것은 쉽습니다. 그냥 설치하기만 하면 됩니다. 그리고 위의 두 가지는 실제로 안전합니다(음, 머신에 물리적으로 액세스할 수 있으므로 이러한 취약점은 어쨌든 적용됩니다).
루트(sudo) 액세스가 필요한 이유에 따라 기능 및 SELinux와 같은 더 고통스러운 것들이 있습니다. 또는 물론 하나 또는 두 개의 명령만 필요한 경우 sudo에는 실행할 수 있는 명령을 제한하는 지원 기능이 내장되어 있습니다.
편집하다:네임스페이스에 대한 자세한 내용은 다음을 참조하세요.네임스페이스 작동, 1부: 네임스페이스 개요, 총 6부로 구성되어 있습니다. 네임스페이스는 몇 년 전부터 천천히 Linux에 도입되기 시작했습니다. 5부와 6부는 3.8에 추가된 마지막 부분을 다루며, 임의의 사용자가 자신의 네임스페이스에서 루트 권한을 가질 수 있도록 허용합니다.
답변2
동일한 운영 체제의 두 가지 버전을 설치하는 대신 교사는 논리 볼륨의 루트 파일 시스템을 사용하여 한 번만 설정한 다음 해당 LV의 두 가지 다른 스냅샷에서 부팅하도록 grub을 설정할 수 있습니다. 그는 부팅 항목에 귀하의 이름을 입력하여 쉽게 선택하고, grub에 비밀번호를 설정하고, grub 시간 초과를 비활성화할 수 있습니다(그래서 무언가를 선택하려고 서두르지 않도록). 그는 스냅샷에 여러분이 하려는 작업을 담을 수 있을 만큼 충분한 공간이 있는지 확인하기만 하면 됩니다.
참조된 LV를 업데이트해야 하는 경우 다른 항목 중 하나에서 명령줄을 편집한 다음(암호를 입력한 후) 간단히 커널 매개변수의 root=를 스냅샷 대신 실제 LV로 변경할 수 있습니다.
이는 보다 자원 중심적인 방식으로 그가 원하는 것을 달성할 수 있지만 궁극적으로는 나쁜 생각입니다.
마지막으로 나는 그에게 LiveCD를 사용하고 싶다면 아마도 바람에 화를 낼 것이라고 설명하려고 노력할 것입니다. 두 개의 다른 파티션에 설치하거나 스냅샷에서 부팅해도 멈추지 않고 파일의 정확한 내용만 변경됩니다. 이를 수행하는 단계.