devtoolset-3 지원 셸에서 사용자가 루트로 실행할 수 있는 명령을 제한할 수 없습니다.

devtoolset-3 지원 셸에서 사용자가 루트로 실행할 수 있는 명령을 제한할 수 없습니다.

우리는 RHEL6.6에서 devtoolset-3을 사용하고 있습니다. 사용자는 scl 활성화 devtoolset-3 bash를 실행하여 모든 devtoolset-3 도구가 포함된 환경에 액세스합니다.

사용자가 루트로 명령의 하위 집합을 실행할 수 있도록 허용하고 싶습니다. 이를 수행하는 일반적인 방법은 명령 별칭과 사용자가 루트로 실행할 수 있는 명령 목록이 포함된 sudoers 파일과 함께 sudo를 사용하는 것입니다.

다양한 조합을 시도해 보았지만 딱 맞는 레시피가 떠오르지 않네요.

제가 시도한 몇 가지 사항은 다음과 같습니다.

1번을 시도해보세요:

명령 별칭을 만듭니다.

Cmnd_Alias ALLOWEDCOMMANDS=/usr/bin/pkill <process name>

그런 다음 myGroup의 구성원이 비밀번호 없이 이러한 명령을 실행할 수 있도록 허용합니다.

%myGroup  ALL=(ALL) NOPASSWD:SETENT: ALLOWEDCOMMANDS

해당 설정으로 sudo pkill을 실행하려고 하면 다음과 같은 결과가 나타납니다.

죄송합니다. 사용자는 루트로 '/usr/bin/scl 활성화 devtoolset-3 'pkill' '''을(를) 실행할 수 없습니다.

2번 시도:

완전한 명령을 얻기 위해 sudoers 파일을 수정했습니다.

Cmnd_Alias ALLOWEDCOMMANDS=/usr/bin/scl enable devtoolset-3 pkill <some_process_name>

하지만 여전히 같은 오류가 발생합니다.

3번을 시도해보세요:

허용되는 명령 으로 나열하면 /usr/bin/scl사용자는 scl 지원 환경에서 루트로 모든 명령을 실행할 수 있습니다.

사용자가 scl 지원 쉘에서 특정 명령 목록을 실행할 수 있는 안정적인 방법을 생각할 수 있는 사람이 있습니까?

답변1

다른 사람이 이 문제에 직면할 경우를 대비해 Red Hat 지원팀에서 받은 답변을 여기에 게시하려고 생각했습니다.

sudo의 devtoolset-3 버전은 /etc/sudoers에 지정한 명령 별칭 형식과 잘 작동하지 않는 것으로 나타났습니다.

devtoolset-3이 활성화된 셸에서는 sudo=/usr/bin/sudo 별칭을 사용할 수 있습니다. 그러면 사용자는 명령 별칭을 올바르게 처리하는 표준 sudo를 실행합니다.

해당 별칭을 사용한 후에는 모든 것이 예상대로 작동합니다.

관련 정보