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


35

나는 반세기가 넘는 유닉스 경험을 확인했으며 동료 나 나도 그룹 ( sggpasswd) 에 비밀번호를 설정하지 않았습니다 . 그룹 암호의 일반적인 사용 사례는 무엇입니까? 아니면 역사적인 이유로 인해 거의 존재합니까?


4
어쩌면 Ken 에게 디자인 단계에서 고려할 것을 요청하는 이메일을 보내야합니다 .; o)
jippie

답변:


26

나도이 기능이 한 번도 사용 된 적이 없다. 대부분의 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으며 사용자가 속한 사용자 이름이나 그룹 만 허용하고 권한을 상승시켜 특정 작업을 수행 할 수있는 권한을 허용했습니다.

ACL

마지막으로 ACL (액세스 제어 목록)을 만드는 기능은 사용자 / 그룹 / 기타 권한 모델이 단독으로 제공 할 수 없었던 마지막 유연성을 제공하여 그룹 암호가 모호해질 수있게 해줍니다.


이미 언급 한 sudoACL입니다. udev물론 장치에 중점을 둔 비슷한 이야기가 나온 것 같습니다 . 재미있는 글입니다.
jippie

11

로그에 내 계정이 무차별 상태이거나 사전 공격 일 수 있음을 나타내는 로그가 있으므로 업무용 서버에서 직접 구현 한 그룹 암호를 실제로 사용합니다.
나는 워크 스테이션과 가정용 컴퓨터에서 사용할 키 페어를 생성 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:가 필요합니다 . 비활성화되어 있고이 그룹에없는 경우 사용할 수 없습니다 . 명령 목록에 루트가 기본적으로 사용하고있는 쉘 이없는 경우 사용자 계정 암호 도 필요합니다 .NOPASSWDsudo -i/bin/bash

이것이 몇 단계 더 길어질 수있는 길을 만들지 만 좋은 보안 계층을 추가합니다. 이와 같이 모든 계정을 만들려면 암호와 sudo 권한을 가진 로컬 계정을 하나만 만들지 만 /etc/ssh/sshd_config다음과 같이 추가하여 ssh 항목을 거부하십시오 .

DenyUsers root caan
DenyGroups root daleks

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


sudoPOSIX newgrp명령 을 대신 사용 하지 않고도이 작업을 훨씬 더 잘 수행 할 수 있습니다. 여전히 훌륭한 답변입니다.
mikeserv

이 질문에 대한 정확한 대답은 아니지만 값이 분명한 "old"( newgrp) 및 "new"( sudo) 의 사용법과 조합에 대한 훌륭한 제안입니다 . 이것은 약간의 명성이 필요합니다.
더크

1

그 암호에 대한 사용 사례도 본 적이 없습니다. 그리고 그것은 약 20 년의 * nix 경험입니다.

내 마음에 오는 유일한 유스 케이스는 "!"로 설정하는 것입니다. -잠겨 있으므로 그룹의 구성원이 아닌 사람은 newgrp명령으로 그룹으로 변경할 수 없습니다 .

SLES에서 / etc / group 또는 RedHat 기반 시스템에서 / etc / gshadow를 살펴보면 이것은 "일반적인"유스 케이스 인 것 같습니다. SLES는 해당 암호에 대한 섀도 메커니즘을 만들지 않았습니다.


당신이 무슨 뜻인지 확실하지. 예 : 난 newgrp ntp아직 못 해요- !잠금 은 어떻게 바뀌나요?
jippie

@jippie-시스템에서 ntp의 암호 필드는 무엇입니까? 암호를 추측하기 쉬운 경우 newgrp ntp를 수행 할 수 있습니다. 와 함께! 당신은 할 수 없습니다.
Nils

이는 단지 예일 뿐이며 'x'를 가지며 ntp 사용자 이외의 그룹 구성원이 없습니다. 비밀번호 필드를!
jippie

2
보낸 사람 man newgrp: 그룹 암호가 비어 있고 사용자가 구성원으로 표시되지 않으면 사용자의 액세스가 거부됩니다.
user2387

0

유스 케이스를 제안하겠습니다.

먼저 "사용자"라는 용어에 익숙하다고 생각하지도 않습니다. 그러나 "사용자"는 실제로 사용자 가 아닙니다 . 예를 들어 집에는 아내의 랩톱, 랩톱 및 일반 데스크탑 컴퓨터의 세 대의 컴퓨터가 있습니다. 아내의 랩톱을 사용할 때 사용자 계정으로 로그인합니다. 랩톱을 사용할 때 사용자 계정으로 로그인합니다. 누군가 데스크탑이 필요한 경우 하나의 공통 계정을 사용합니다. 여기서 우리는 컴퓨터 시스템이 "사용자"라고 부르는 것은 실제로 사용자가 아니라 일련의 활동 인 작업 흐름 이라는 것을 알 수 있습니다.

여기에 질문이 있습니다 : 왜 내가 가지고있는 모든 직업마다 하나씩 둘 이상의 활동을 가질 수 없습니까? 제가 할수 있어요. 내 업무용 컴퓨터에서 많은 다른 사용자를 만들었으므로 현재 작업에 집중할 수 있습니다. 이 모든 사용자를 동일한 그룹에 배치하여 현재 사용중인 사용자에 상관없이 파일에 액세스 할 수 있습니다.

그렇다면 gpasswd는 어디에 적합합니까?

우분투의 기본 동작은 모든 사용자를위한 특별한 그룹을 만드는 것입니다.

이러한 기본 그룹을 사용자 로 생각하고 시스템 사용자를 워크 플로 로 생각하면 어떻게됩니까?

이 새로운 사용자보다 로그인하려면 암호가 필요합니다. 여기 gpasswd가 있습니다. 여전히 그룹에 로그인하는 방법을 알아야합니다 (이 시점까지 이미 로그인 한 경우 gpasswd로 그룹을 전환 할 수 있다는 것입니다).


그러나 그룹 암호는이 질문의 핵심이지만 아직 해결하지 못했습니다.
Jeff Schaller

IT에서 매우 일반적인 보안 및 책임 관점에서 다른 사람의 사용자 계정을 사용하는 것은 용납 될 수 없습니다. 가정 상황에서는 효과가있을 수 있지만 회사 환경에는 좋지 않습니다.
jippie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.