그룹 비밀번호의 일반적인 사용 사례

그룹 비밀번호의 일반적인 사용 사례

반세기가 넘는 Unix 경험을 확인했는데 동료나 나 자신 모두 그룹( sggpasswd)에 비밀번호를 설정한 적이 없습니다. 그룹 비밀번호의 일반적인 사용 사례는 무엇입니까? 아니면 역사적 이유로 인해 거의 존재합니까?

답변1

나 역시 이 기능이 사용되는 것을 한 번도 본 적이 없다. 대부분의 SA는 이 기능이 존재한다는 사실조차 인식하지 못합니다. 매뉴얼 페이지를 보면 gpasswd다음과 같은 메모가 있습니다.

그룹 비밀번호에 대한 참고사항

  Group passwords are an inherent security problem since more than one 
  person is permitted to know the password. However, groups are a useful 
  tool for permitting co-operation between different users.

왜 존재하는가?

나는 이것이 사용자의 비밀번호 보유 모델을 모방하는 자연스러운 아이디어라고 생각하며 해당 사용 사례 모델을 그룹에도 복제하는 것이 합리적이라고 생각합니다. 그러나 실제로는 어떤 것에도 그다지 유용하지 않습니다.

그룹 비밀번호의 아이디어는 특정 그룹(구성원으로 나열되지 않은 그룹)에 액세스해야 하는 경우 명령을 사용하여 그렇게 하고 newgrp액세스 권한을 얻기 위해 비밀번호를 묻는 것입니다. 이러한 대안 그룹에.

이들의 가장 큰 문제는 각 그룹마다 하나의 비밀번호만 있으므로 여러 사람이 이 특정 그룹에 액세스해야 할 때 사람들이 이 단일 비밀번호를 공유해야 한다는 것입니다.

여러 떼

내가 만난 대부분의 환경은 일반적으로 사람들을 보조 그룹에 배치한 다음 이러한 그룹에 파일 시스템의 파일에 대한 액세스 권한을 부여했으며 이는 발생해야 하는 거의 모든 사용량을 만족시켰습니다.

sudo

추가 권한 이 sudo필요에 따라 그룹에 전달될 수 있으므로 그룹 비밀번호가 제공했을 수 있는 사용 사례가 더욱 약화될 수 있습니다. 사용자에게 더 많은 권한을 허용해야 하는 경우 역할을 생성한 sudo다음 해당 사용자가 속한 사용자 이름이나 그룹, 특정 작업을 수행할 수 있도록 권한을 승격시키는 권한을 허용하는 것이 훨씬 쉬웠습니다 .

ACL

마지막으로 ACL(액세스 제어 목록)을 생성하는 기능은 사용자/그룹/기타 권한 모델만으로는 제공할 수 없는 마지막 유연성을 제공하여 그룹 암호에 대한 모든 필요성을 모호하게 만듭니다.

답변2

로그에 내 계정이 무차별 대입 공격을 받고 있음(또는 사전 공격일 수 있음)이 표시되었기 때문에 작업 서버에서 직접 구현한 그룹 비밀번호의 실제 사용법은 다음과 같습니다.
나는 워크스테이션과 가정용 컴퓨터에서 사용할 키 쌍을 생성하기 위해 ssh-keygen및 를 각각 사용했습니다. puttygen집에서 사용하는 열쇠에는 비밀번호가 필요합니다. 두 공개 키를 모두 에 추가하고 비밀번호가 있고 구성원이 없는 .ssh/authorized_keys그룹을 만들었습니다 . marionette나는 루트로서 visudo다음 줄을 추가하곤 했습니다.

Cmnd_Alias      SUDOING = /bin/bash, /usr/bin/sudo -i
%marionette     ALL=NOPASSWD:SUDOING

내 계정의 비밀번호를 비활성화했습니다. 그런 식으로는 아무도 로그인할 수 없습니다. 이제 내 키로만 로그인하고 비밀번호로 보호된 그룹을 입력하면 를 newgrp marionette사용하여 루트가 될 수 있습니다 sudo -i. 옵션
이 없으면 NOPASSWD:귀하의사용자 계정비밀번호. 비활성화되어 있고 이 그룹에 이 없으면 NOPASSWD할 수 없습니다 sudo -i. 또한 귀하의사용자 계정/bin/bash명령 목록에 루트가 기본적으로 사용하는 쉘이 없거나 다른 쉘이 없으면 비밀번호를 입력하십시오 .

이렇게 하면 sudoing 경로가 몇 단계 더 길어지지만 보안이 강화됩니다. 모든 계정을 이와 같이 만들기로 선택한 경우 비밀번호와 sudo 권한이 있는 하나의 로컬 계정을 생성하되 다음 /etc/ssh/sshd_config과 같은 항목을 추가하여 ssh 입력을 거부하세요.

DenyUsers root caan
DenyGroups root daleks

이는 재설치하고 액세스 키 백업을 잊어버린 경우 로컬 액세스에 필요합니다.

답변3

나도 해당 비밀번호의 사용 사례를 본 적이 없습니다. 그리고 그것은 약 20년 간의 *nix 경험입니다.

내 마음에 떠오르는 유일한 사용 사례는 "!"로 설정하는 것입니다. - 잠겨 있으므로 해당 그룹의 구성원이 아닌 누구도 명령을 사용하여 변경할 수 없습니다 newgrp.

SLES의 /etc/group 또는 RedHat 기반 시스템의 /etc/gshadow를 살펴보면 이것이 "전형적인" 사용 사례인 것 같습니다. SLES는 해당 비밀번호에 대한 섀도우 메커니즘을 만들려고도 하지 않았습니다.

답변4

사용 사례를 제안하겠습니다.

먼저 우리는 "사용자"라는 용어에 너무 익숙해서 그것에 대해 생각조차 하지 않는다는 점을 말씀드리고 싶습니다. 하지만 "사용자"는 실제로는사용자. 예를 들어, 집에는 아내의 노트북, 제 노트북, 일반 데스크톱 컴퓨터 등 세 대의 컴퓨터가 있습니다. 저는 아내의 노트북을 사용할 때 아내의 사용자 계정으로 로그인합니다. 그녀는 내 노트북을 사용할 때 내 사용자 계정으로 로그인합니다. 누군가 데스크톱이 필요한 경우 하나의 공통 계정을 사용합니다. 여기서 우리는 컴퓨터 시스템이 "사용자"라고 부르는 것이 실제로는 사용자가 아니라는 것을 알 수 있습니다.사용자하지만작업 흐름- 일련의 활동.

질문은 다음과 같습니다. 왜 하나 이상의 활동을 가질 수 없습니까? 내가 가진 모든 직업에 대해 하나씩? 저 할 수 있어요. 내 작업 컴퓨터에서는 현재 작업에 집중할 수 있도록 (실험적으로) 다양한 사용자를 많이 만들었습니다. 현재 어떤 사용자를 사용하고 있는지에 관계없이 내 파일에 액세스할 수 있도록 이러한 모든 사용자를 동일한 그룹에 넣습니다.

그러면 여기서 gpasswd는 어디에 적합합니까?

Ubuntu의 기본 동작은 모든 사용자에 대해 특수 그룹을 생성하는 것입니다.

이러한 기본 그룹을 다음과 같이 생각하기로 결정하면 어떻게 될까요?사용자시스템 사용자를 다음과 같이 생각합니다.워크플로우?

이러한 신규 사용자는 로그인하려면 비밀번호가 필요합니다. 그렇죠? gpasswd의 위치는 다음과 같습니다. 나는 여전히 그룹에 로그인하는 방법을 알아내야 합니다(지금까지 내가 알고 있는 것은 이미 로그인한 경우 gpasswd를 사용하여 그룹을 전환할 수 있다는 것입니다).

관련 정보