답변:
나도이 기능이 한 번도 사용 된 적이 없다. 대부분의 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 (액세스 제어 목록)을 만드는 기능은 사용자 / 그룹 / 기타 권한 모델이 단독으로 제공 할 수 없었던 마지막 유연성을 제공하여 그룹 암호가 모호해질 수있게 해줍니다.
sudo
ACL입니다. udev
물론 장치에 중점을 둔 비슷한 이야기가 나온 것 같습니다 . 재미있는 글입니다.
로그에 내 계정이 무차별 상태이거나 사전 공격 일 수 있음을 나타내는 로그가 있으므로 업무용 서버에서 직접 구현 한 그룹 암호를 실제로 사용합니다.
나는 워크 스테이션과 가정용 컴퓨터에서 사용할 키 페어를 생성 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
이것이 몇 단계 더 길어질 수있는 길을 만들지 만 좋은 보안 계층을 추가합니다. 이와 같이 모든 계정을 만들려면 암호와 sudo 권한을 가진 로컬 계정을 하나만 만들지 만 /etc/ssh/sshd_config
다음과 같이 추가하여 ssh 항목을 거부하십시오 .
DenyUsers root caan
DenyGroups root daleks
액세스 키를 다시 설치하고 백업을 잊어 버린 경우 로컬 액세스에 필요합니다.
sudo
POSIX newgrp
명령 을 대신 사용 하지 않고도이 작업을 훨씬 더 잘 수행 할 수 있습니다. 여전히 훌륭한 답변입니다.
newgrp
) 및 "new"( sudo
) 의 사용법과 조합에 대한 훌륭한 제안입니다 . 이것은 약간의 명성이 필요합니다.
그 암호에 대한 사용 사례도 본 적이 없습니다. 그리고 그것은 약 20 년의 * nix 경험입니다.
내 마음에 오는 유일한 유스 케이스는 "!"로 설정하는 것입니다. -잠겨 있으므로 그룹의 구성원이 아닌 사람은 newgrp
명령으로 그룹으로 변경할 수 없습니다 .
SLES에서 / etc / group 또는 RedHat 기반 시스템에서 / etc / gshadow를 살펴보면 이것은 "일반적인"유스 케이스 인 것 같습니다. SLES는 해당 암호에 대한 섀도 메커니즘을 만들지 않았습니다.
newgrp ntp
아직 못 해요- !
잠금 은 어떻게 바뀌나요?
!
man newgrp
: 그룹 암호가 비어 있고 사용자가 구성원으로 표시되지 않으면 사용자의 액세스가 거부됩니다.
유스 케이스를 제안하겠습니다.
먼저 "사용자"라는 용어에 익숙하다고 생각하지도 않습니다. 그러나 "사용자"는 실제로 사용자 가 아닙니다 . 예를 들어 집에는 아내의 랩톱, 랩톱 및 일반 데스크탑 컴퓨터의 세 대의 컴퓨터가 있습니다. 아내의 랩톱을 사용할 때 사용자 계정으로 로그인합니다. 랩톱을 사용할 때 사용자 계정으로 로그인합니다. 누군가 데스크탑이 필요한 경우 하나의 공통 계정을 사용합니다. 여기서 우리는 컴퓨터 시스템이 "사용자"라고 부르는 것은 실제로 사용자가 아니라 일련의 활동 인 작업 흐름 이라는 것을 알 수 있습니다.
여기에 질문이 있습니다 : 왜 내가 가지고있는 모든 직업마다 하나씩 둘 이상의 활동을 가질 수 없습니까? 제가 할수 있어요. 내 업무용 컴퓨터에서 많은 다른 사용자를 만들었으므로 현재 작업에 집중할 수 있습니다. 이 모든 사용자를 동일한 그룹에 배치하여 현재 사용중인 사용자에 상관없이 파일에 액세스 할 수 있습니다.
그렇다면 gpasswd는 어디에 적합합니까?
우분투의 기본 동작은 모든 사용자를위한 특별한 그룹을 만드는 것입니다.
이러한 기본 그룹을 사용자 로 생각하고 시스템 사용자를 워크 플로 로 생각하면 어떻게됩니까?
이 새로운 사용자보다 로그인하려면 암호가 필요합니다. 여기 gpasswd가 있습니다. 여전히 그룹에 로그인하는 방법을 알아야합니다 (이 시점까지 이미 로그인 한 경우 gpasswd로 그룹을 전환 할 수 있다는 것입니다).