c/C++ 코드에서 Linux 사용자 런타임을 변경하고 싶습니다. 내가 어떻게 할 수 있니?c/C++ 코드에서 Linux 사용자 런타임을 변경하십시오.
리눅스 사용자 "abc"(비 루트 사용자)로부터 c/C++ 바이너리를 실행하고 있습니다. c/C++ 코드 내에서 특정 작업을 수행하기 위해 "xyz"라는 사용자로 전환 한 다음 "abc"의 권한을 되찾고 싶습니다.
c/C++ 코드에서 Linux 사용자 런타임을 변경하고 싶습니다. 내가 어떻게 할 수 있니?c/C++ 코드에서 Linux 사용자 런타임을 변경하십시오.
리눅스 사용자 "abc"(비 루트 사용자)로부터 c/C++ 바이너리를 실행하고 있습니다. c/C++ 코드 내에서 특정 작업을 수행하기 위해 "xyz"라는 사용자로 전환 한 다음 "abc"의 권한을 되찾고 싶습니다.
사용자가 root가 아닌 한 사용자 ID를 보안 구멍처럼 임의로 변경할 수 없습니다. 그러나 사용자 ID를 해당 실행 파일을 소유하는 사용자의 사용자 ID로 전환하는 규정이 있습니다 (은 실행 파일입니다). 이것은 setuid()
함수입니다. 이 기능을 사용하려면 프로그램 자체에 setuid
플래그가 설정되어 있어야합니다.
위키피디아는'setgid'에 대해서 언급하고 있지만 강조하기 위해'setgid'를 체크하는 것을 잊지 마십시오. 많은 응용 프로그램에서 그룹 만 변경하면 충분합니다. – Dummy00001
"같은"?? 같이 ...? –