선택된 사용자가 비밀번호로 "newgrp"를 사용하는 것을 방지하는 방법 [닫기]

선택된 사용자가 비밀번호로 "newgrp"를 사용하는 것을 방지하는 방법 [닫기]

일부 사용자를 그룹에 추가하지 않는 방법을 알고 싶습니다. 특정 사용자가 그룹에 가입하는 것을 방지해야 합니다. 특정 사용자(전체는 아님)에 대해 그룹을 잠그고 싶습니다.

세부 사항

lgroupmod -L dba ==> This prevents users from using the group password and    
gpasswd -R dba ==> is restriction to a group 

특정 사용자에 대해 그룹을 잠가야 합니다.아니요모든 그룹 구성원에게.

답변1

작업에 잘못된 도구를 사용하고 있는 것 같습니다. 그룹 비밀번호는 거의 사용되지 않는 기능입니다. 각 사용자를 원하는 그룹에 할당할 수 있으며, 로그인하면 특별한 작업을 수행하지 않고도 그룹 권한을 얻을 수 있습니다.

사용자가 그룹 권한을 사용하려고 할 때(예: 로깅 목적) 특정 작업을 수행하도록 하거나 특별한 상황에서만 그룹 권한을 사용해야 함을 분명히 하는 경우 가장 확실한 접근 방식은 다음을 사용하는 것입니다.스도. 그룹에 액세스해야 하는 사용자의 경우 다음을 실행하여 visudo파일에 규칙을 추가합니다 sudoers.

alice ALL = (:dba) ALL

sudo -g dba somecommand대신 사용자에게 실행하라고 지시합니다 echo 'somecommand' | newgrp dba.

사용자가 그룹에 액세스하려면 공유 비밀번호를 입력해야 하지만 특정 사용자만 그룹에 액세스할 수 있도록 하는 매우 특이한 시나리오가 있는 경우에도 newgrp이를 특정 사용자로 제한할 수 있습니다. newgrp권한을 안전하게 상승시키는 것은 까다롭기 때문에 직접 작성하기보다는 악용 하십시오 . Linux는 newgrpPAM을 사용하지 않습니다. 아마도 기본적으로 아무도 사용하지 않기 때문일 것입니다 newgrp. 따라서 배포판에 있는 버전의 소스 코드를 가져와서 파일을 읽도록 수정하세요 /etc/gshadow.dba. 다른 파일을 읽는 목적은 그룹 및 해당 비밀번호가 sg포함된 행을 가 아닌 에 추가하는 등 다른 방법을 통해 그룹의 권한을 늘리는 것을 방지하는 것입니다 . 수정된 것을 컴파일하고 에 설치 한 후 특정 사용자만 실행할 수 있도록 권한을 설정합니다.dba/etc/gshadow.dba/etc/gshadownewgrp/usr/local/bin/newgrp-dba

chmod u=srwx,go= /usr/local/bin/newgrp-dba
setfacl -m user:alice:x /usr/local/bin/newgrp-dba

답변2

/etc/group또는 에 비밀번호를 추가할 수 있습니다 /etc/gshadow. 형식은 비슷 /etc/passwd하지만 필드 수가 다릅니다. 그러나 두 번째 필드에는 비밀번호를 입력해야 합니다.

관련 정보