로그인 시 생성된 게스트 계정을 특정 그룹에 추가하시겠습니까?

로그인 시 생성된 게스트 계정을 특정 그룹에 추가하시겠습니까?

이 질문은 다음과 관련이 있습니다.또 다른, 좀 더 일반적인 질문게스트 계정에 대해. 이것은 매우 구체적입니다.

설정: 16.04를 실행하는 교실 환경에서 사용하는 구형 Dell Latitude E6410과 최신 Dell Latitude 5450이 많이 있습니다. 많은 학생들이 데이터 분석, USB 장치를 통한 데이터 수집 등 다양한 목적으로 이 기계를 사용하고 있습니다.

게스트 계정은 로그인 사이에 컴퓨터를 깨끗하게 정리하는 데 도움이 됩니다. 게스트 계정의 추가 기능은 컴퓨터를 켜고 '잊으면' 컴퓨터가 자동으로 게스트 계정에 로그인하고 브라우저 창을 실행한다는 것입니다. 문제는 게스트 계정에 USB 포트에 액세스할 수 있는 권한이 없다는 것입니다.

간단한 해결책은 학생들이 연결된 장치와 썸 드라이브를 사용할 수 있도록 전화 접속 및 플러그 개발 그룹에 새 게스트 계정(예: guest-abf2)을 추가하는 것입니다. 다음과 같은 것 :

moduser -a -G plugdev,dialout $USER

로그인 프로세스 초기에 스크립트 내부에 작업할 수 있습니다.

이것이 내가 지금까지 시도한 것입니다:

  • 이 명령을 둘 중 하나에 배치문서화된 후크: auto.sh그리고 디렉토리 prefs.sh에 있습니다 /etc/guest-session. 둘 다 작동하지 않습니다. prefs.sh사용자 컨텍스트에서 실행되고 auto.sh루트 컨텍스트에서 실행되어야 하지만 새로 생성된 게스트 계정을 두 그룹에 추가하기에는 너무 늦게 실행됩니다.
  • lightdm이 실행하는 사용 가능한 스크립트 수정(응 안 좋은 건 알지만 점점 절박해지고 있었어) 그래도 여전히 작동하지 않습니다. 계정이 생성된 직후, 실제 로그인 전에 moduser 명령을 실행해야 합니다.
  • 에 따르면오래된 문서(11개 정도)내가 시도한 후크가 있지만 setup.sh이 후크가 더 이상 작동하는지 잘 모르겠습니다.
  • udev 스크립트 작성을 검토해 보았지만 이는 매우 고통스러운 것으로 보이며 문서는 USB 장치에 대한 액세스를 허용하지 않는 USB 썸 드라이브 장착에 맞춰져 있는 것 같습니다. 여기서는 틀릴 수도 있습니다.
  • 어딘가에서 특정 그룹에 새 사용자를 자동으로 추가하는 메커니즘과 유사한 '스크립트'가 있다는 일부 문서를 우연히 발견했지만 찾을 수 없는 것 같습니다. 이 경우에는 작동할 수도 있고 작동하지 않을 수도 있지만 시도해 보겠습니다.

답변1

게스트 계정은 쉘 스크립트에 의해 생성됩니다 /usr/sbin/guest-account.

함수가 끝나면 add_account호출됩니다.사용자 추가사용자를 생성합니다. 여기에 옵션 을 추가하면 -G plugdev,dialout트릭을 수행할 수 있습니다.

사용dpkg-전환업데이트된 패키지가 수정된 스크립트를 덮어쓰는 것을 방지합니다.

답변2

사용usermod, 아니다 ' moduser'.

... 이제 시작 스크립트 prefs.sh의 동작이 광고된 대로 작동합니다. /etc/guest-session에 prefs.sh라는 파일을 생성합니다. 다음 줄로:

moduser $USER -a -G plugdev,dialout

해당 명령을 .NET 파일에 포함하면 게스트 세션이 중단되고 로드되지 않게 됩니다 prefs.sh. 'moduser'는 유효한 명령이 아닙니다. 대신 다음 줄을 사용하세요.

usermod -a -G plugdev,dialout $USER

답변3

auto.sh루트 컨텍스트에서 실행된 적이 없습니다. prefs.sh에서 소스를 제공했을 때 Ubuntu 15.10까지 그렇게 했지만 /usr/sbin/guest-account코드가 리팩터링되었으며 16.04에서는 루트로 실행되지 않는 소스 prefs.sh에서 발생했습니다 ./usr/share/lightdm/guest-session/setup.sh

이러한 동작 변화가 의도적인 것인지는 알 수 없습니다. 그렇지 않다면 변경을 제안할 이유가 있을 수 있습니다.

게스트 세션이 USB 포트에 액세스할 수 없다는 말이 무슨 뜻인지 잘 모르겠습니다. 적어도 USB 스틱을 사용할 수 있다는 것을 알고 있습니다. AppArmor를 통해 사용이 금지되는 다른 장치가 있을 수도 있습니다.

편집하다:

나는 신청했다버그 보고서prefs.sh, 승인되면 이전과 마찬가지로 를 사용하여 게스트를 그룹에 할당 할 수 있습니다 .

USB 스틱과 관련하여 몇 가지 테스트를 수행한 결과 스틱의 포맷 방식이 중요하다는 사실을 발견했습니다. ext4 형식의 스틱을 사용하면 읽거나 쓸 수 없지만 fat16으로 형식을 지정하면 제대로 작동합니다.

답변4

정확히 언제 발생했는지는 모르지만 lightdm이 업데이트되어 시작 스크립트의 동작이 변경되었습니다.prefs.sh이제 광고된 대로 작동합니다. 라는 파일을 생성하여prefs.sh~에/etc/guest-세션다음 줄을 사용하십시오 :

moduser $USER -a -G plugdev,dialout

학생들이 게스트 계정에서 새로운 USB 장치에 액세스할 수 있도록 하는 데 필요한 것을 정확히 달성했습니다.

관련 정보