어떤 이유로 시스템 관리 명령을 활용하려면 이중 요소 계정을 사용해야 합니다. 이 계정은 일반 로그인 계정과 다릅니다. 예를 들어 표준 로그인이 "alice"인 경우 2단계 계정은 "alice2"일 수 있습니다.
sudo
다음과 유사한 파일이 있습니다 (허용된 각 사용자당 하나씩, /etc/sudoers.d에 있음).
Defaults:alice runaspw,runas_default=alice2
alice ALL=(alice2) /bin/bash
이는 "alice2"의 비밀번호(2단계 비밀번호)를 입력하라는 메시지가 "alice"에 표시되고 "alice"가 "alice2" 계정으로 변경되기 때문입니다. 거기에는 alice2가 sudo
비밀번호 없이 모든 명령을 사용할 수 있도록 하는 별도의 파일이 있습니다 .sudo
따라서 이중 인증에 관한 한 모든 것이 괜찮아 보입니다. 그러나 이 2단계 방법(예: 특정 컴퓨터에서 특정 서비스 다시 시작)으로 제한되지 않는 일부 명령이 있습니다. 내 생각에는 나에게도 이런 직업이 있는 것 같다.
Cmnd_Alias SRVCHTTPD = /usr/bin/systemctl restart httpd
Defaults!SRVCHTTPD !runaspw,runas_default=root
여기서는 "alice"라는 사용자에게 "alice"의 비밀번호를 입력하라는 메시지가 표시되고 서비스를 다시 시작할 수 있습니다.
이제 내 질문이 나옵니다. 사용자가 sudo -l
실행할 수 있는 명령을 확인하면 기본 계정(alice) 대신 2단계 계정(alice2)을 입력하라는 메시지가 표시됩니다. 명령 별칭을 추가해 보았습니다(sudo -l에 대한 조언을 따르십시오.), 본질적으로 위의 줄을 복사합니다.
Cmnd_Alias SUDOLIST = /usr/bin/sudo -l
Defaults!SUDOLIST !runaspw,runas_default=root
그러나 이 접근 방식은 작동하지 않았으며 사용자에게 2단계 계정 비밀번호를 입력하라는 메시지가 계속 표시되었습니다.
내가 여기서 잘못하고 있는 것에 대한 제안을 보내주시면 감사하겠습니다.