Windows에서 시작된 이 환경 변수에 해당하는 Linux는 무엇입니까?

Windows에서 시작된 이 환경 변수에 해당하는 Linux는 무엇입니까?

set __COMPAT LAYER=RunAsInvoker

존재한다면 Linux에 해당하는 것은 무엇입니까?

답변1

"호출자로서" 실행한다는 것은 기본적으로 "애플리케이션에 관리자 권한이 필요하다는 메시지를 모두 무시"하는 것을 의미하므로 UAC 대화 상자를 표시하지 않고 관리자 권한 실행을 거부하는 것처럼 가장합니다(그러나 여전히 애플리케이션은 실행됩니다).

UAC 대화 상자가 없기 때문에 직접적으로 동등한 것은 없습니다. 얻을 수 있는 가장 가까운 방법은 직접 실행하는 것이 아니라 바이너리 인터프리터를 통해 프로그램을 실행하는 것입니다. 이는 바이너리의 set-user-id 비트를 무시합니다(예: 응용 프로그램이 더 낮은 값으로 실행됨). 평소보다 권한). 예를 들어 다음을 사용하여 통역사를 찾으십시오 file.

$ file /usr/games/sl 
/usr/games/sl: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, …

그런 다음 실행

$ /lib64/ld-linux-x86-64.so.2 /usr/games/sl

...suid 플래그가 바이너리에 설정되어 있는지 여부에 관계없이 사용자로 실행됩니다.

관련 정보