로컬 로그인 대신 가상 머신 로그인 설정 [닫기]

로컬 로그인 대신 가상 머신 로그인 설정 [닫기]

이전에 질문이 있었는데 이것과 관련해서 어떤 사람은 올바른 절차를 찾고 있었고, 이쪽은 그것을 어떻게 구현하는지 찾고 있었습니다. 뒷이야기가 필요하신 분은 참고하세요내 첫 번째 질문

로컬 장치가 있습니다. 나는 "로컬 액세스"를 갖고 싶은 유일한 사람입니다. 이 장치를 charles.local이라고 부르겠습니다.

나는 그것을 원하므로 addusr bob을 수행하면 VM bob.charles.local이 시작됩니다.

Bob이 컴퓨터에 로그인할 때 그는 자신의 미니 환경으로 들어갑니다.

나는 운영 체제의 전체 인스턴스를 사용하여 가상 머신을 시작하는 방법을 알고 있습니다. 이는 제가 하고 싶은 작업은 아니지만 필요한 경우 모드를 만들 수 있고 Linux를 사용하여 로컬 머신을 관리하는 방법과 fdisk는 개발을 위한 루프를 생성합니다.

  1. init가 내가 원하는 로그인 프로세스를 처리할 수 있으므로 로그인 화면이 나타나고 bob이 로그인하면 자동으로 그를 VM에 넣습니다. 아니면 Kerberus와 같은 별도의 로그인 서버가 필요합니까?
  2. 추가 사용자를 추가하지 않고 단 1명의 사용자만으로 가상 머신을 시작하고 Bob이 평소처럼 머신에 로그인한 것처럼 보이게 만드는 것이 가능합니까?
  3. 추적, skel, 로그인, 로그아웃, adduser, deluser, passwd, Shadow, 구성 파일을 확인할 수 있습니다. initd 구성을 수정해야 합니까? 이 공을 굴리기 위해 필요한 다른 구성이 있습니까?
    1. VMM 외에 다른 특정 소프트웨어가 필요합니까?

나는 학급이 기계에 로그인하고 실제 기계에 0 액세스할 수 있도록 로컬 장치 설정을 시도하고 있습니다. 그래서 그들은 다른 학생들을 방해하지 않고 최소한의 입력으로 루트를 조작할 수 있습니다... 기본적으로 유일한 로컬 기계 입력 사용자가 입력할 수 있는 것은 사용자 이름과 비밀번호입니다. 다른 모든 것은 해당 환경에서 처리됩니다.

답변1

의견을 제시할 포인트가 충분하지 않지만 이것이 귀하의 질문에 대한 답변이 될 수도 있습니다.

제가 올바르게 이해했다면 로컬 사용자가 로그인할 수 있도록 허용하고 사용자가 로그인하면 처음부터 새 VM을 시작하고 동일한 이름으로 사용자 세션을 자동으로 구성하시겠습니까? 당신이 요구하는 것을 정확하게 이해한다면, 그것이 아름다운 머리를 얻는 빠른 방법입니다.

사용자가 무제한의 로컬 전원을 갖고 전체 운영 체제를 파괴할 수도 있지만 쉽게 재설정할 수 있다는 점을 제외하면 의도한 목표인 "키오스크" 모드처럼 들립니다. (이 경우 자동으로.) 유일한 차이점은 특정 단일 사용자 세션을 포함하지 않는다는 것입니다. 왜냐하면 이 아이디어가 작동하려면 단일 사용자 세션이 실제로 필요하지 않고 실제로 상황을 복잡하게 만들기 때문입니다. (그러나 단일 사용자 세션이 필요한 경우 최소한 이 솔루션을 사용하면 올바른 방향으로 시작할 수 있습니다. "모든 사용자가 액세스할 수 있는 읽기 전용 불변 기본 VM 디스크 이미지를 생각하지만 각 사용자는 자체 VM을 가집니다. " 정의 파일과 읽기/쓰기 차등 디스크는 로그인할 때마다 삭제되고 복원됩니다.)

먼저 몇 가지 빠른 정의:

  • "호스트" 또는 "머신": 물리적 머신입니다. Windows, MacOS 또는 Linux를 실행 중인지는 중요하지 않습니다. 각 항목을 이러한 방식으로 구성할 수 있지만 로그오프 및 종료를 차단하는 방법이 항상 명확한 것은 아닙니다. (두 가지 모두 Windows와 Linux에서 수행될 수 있다는 것을 알고 있으며 MacOS에서는 강력히 의심됩니다. 이들 모두는 시작 시 자동으로 로그인하도록 구성할 수 있습니다.)

  • "VM", "가상 머신" 또는 "게스트": 호스트 머신에서 실행되는 가상 머신입니다. Linux가 되기를 원하는 것처럼 들리지만 잠재적인 라이센스 문제를 제외하면 Windows도 마찬가지로 쉽게 될 수 있습니다. (예를 들어, 사용자가 권한을 조작하면 운영체제 자체가 체크포인트에서 완전히 재부팅되더라도 조작은 지속됩니다.)

각 호스트에는 "사용자" 세션이 있으며 해당 사용자 세션 내에 투명한 게스트 세션이 있습니다. 사용자는 게스트 세션의 존재를 보거나 반드시 인식하게 됩니다. (그러나 호스트 세션의 보안은 이러한 모호함에 의존해서는 안 되며, 그럴 필요도 없습니다.)

일반 단계:

  1. 시작 시 "vmuser"와 같은 잠긴 사용자 계정에 자동으로 로그인하도록 호스트를 설정합니다. 세션 시간 초과/잠금 및 화면 보호기를 비활성화합니다. (화면 전원 끄기는 괜찮으나 세션이 잠기지 않습니다.)

  2. 변경할 수 없는 디스크와 롤백할 차등 파일 또는 스냅샷이 포함된 이 사용자 세션에 대한 가상 머신을 생성합니다.

  3. 초기 호스트 로그인(시작 시) 시 로그인 스크립트가 전체 화면 모드에서 VM 세션을 시작하도록 합니다(모호하게 재정의된 "호스트" 키(예: 스크롤 잠금) 사용). 나중에 추가 작업을 수행해야 하므로 스크립트는 가상 머신이 종료될 때까지 기다려야 합니다.

  4. 그런 다음 가상 머신은 루트 또는 관리자 권한이 있는 사용자에게 자동으로 로그인됩니다.

  5. 게스트 로그아웃 스크립트: 전체 가상 머신을 종료합니다.

  6. VM이 종료되면 로그인 스크립트가 복원됩니다. 사전 정의된 스냅샷으로 롤백됩니다. 호스트 사용자 세션이 종료되지 않으면 스크립트는 가상 머신을 다시 시작해야 합니다. (그러면 자동으로 다시 로그인되며 완전히 새로운 세션으로 돌아가게 됩니다.)

  7. 호스트 로그오프 스크립트: 로그인 스크립트를 중단하거나 롤백 작업을 수행한 후 VM 백업을 시작하지 않도록 지시하는 다양한 방법 중 하나로 로그인 스크립트와 통신해야 합니다. 어느 쪽이든 원하는 작업은 가상 머신의 전원을 끄는 것입니다("하드" 전원 끄기도 허용됨). 가상 머신을 스냅샷으로 롤백합니다. 그런 다음 호스트가 자동으로 다시 로그인되도록 하거나(이를 위해서는 서비스 또는 데몬 모니터링이 필요하며 VM 다시 시작이 완전하게 복구되어야 함) 호스트의 전원을 완전히 끄십시오.

  8. 사용자가 닫는 경우주인, 선제적으로 다시 로그인하도록 스크립트와 통신하거나 호스트를 종료(중복성)하지 않는 한 로그아웃할 때(사용자 세션이 먼저 로그아웃하기 때문에) 동일한 일이 발생합니다.

  9. 호스트 사용자 세션이 로그인할 때마다(아이러니하게도 호스트 시작 시 수행하는 것보다 타이밍 측면에서 더 안정적일 수 있음) 로그인 스크립트는 시작하기 전에 항상 VM을 스냅샷으로 롤백해야 합니다(또는 적어도 확인해야 함). , 지난번에 완전히 종료되지 않은 경우를 대비해. 또는 정말로 강력해지기를 원한다면 호스트 시작 스크립트는 항상 필요한 모든 정리 작업을 수행할 수 있습니다. 즉, 프로세스 간 통신에 사용될 수 있는 모든 파일을 제거하고, 만일을 대비해 VM을 롤백하는 등의 작업을 수행할 수 있습니다. 스크립트는 이 모든 프로세스 중에 시작되며 로그인 스크립트는 계속하기 전에 프로세스가 완료될 때까지 기다립니다.

이렇게 하면 사용자는 "rm -rf /"를 포함하여 가상 머신에서 원하는 모든 작업을 수행할 수 있으며, 가상 머신 종료, 호스트 사용자 세션 로그아웃 또는 호스트 재부팅을 통해 자동으로 복원됩니다. 호스트 사용자 세션이 합리적으로 잘 잠겨 있고 안전하고 변경 불가능한 VM 디스크가 사용자에 의해 삭제되지 않는 한(스냅샷 대신 이 방법으로 설정하는 것이 좋은 이유임) 정말 좋은 생각입니다. 사용자가 가상 ​​머신에서 벗어나더라도 시스템을 망치는 것은 매우 어렵습니다. (물리적 접근 권한이 있는 사람은 누구나 컴퓨터를 손상시킬 수 있습니다. 호스트 운영 체제를 악용하면 솔루션도 손상될 수 있다는 점은 말할 필요도 없습니다. 하지만 최소한 게스트를 악용하는 한 게스트 OS는 어쨌든 롤백/재설정되므로 영구적인 게스트 OS 손상 측면에서 대부분 문제가 됩니다.

나는 각 개별 단계가 가능하다는 것을 알고 있고 그 중 많은 단계를 직접 수행했기 때문에 이러한 라인을 따르는 것이 가능하다고 확신합니다. 개요에 상당히 가깝습니다.

일반적인 요구 사항은 Google에서 검색할 수 있는 "키오스크 모드" 개념입니다. 물론, 키오스크 패턴에는 사용자 경험을 잠그는 일도 포함되는 경우가 많습니다. 이는 원하는 것과 반대이지만, 가까이 다가갈 수 있는 몇 가지 아이디어나 유사하지만 다른 기술(예: 컨테이너)을 사용하는 아이디어가 있을 수 있습니다.

행운을 빌어요!

관련 정보