2014-12-08 2 views
3

Google Go 응용 프로그램에서 현재 프로세스가 관리자로 실행되고 있는지 확인하는 가장 쉬운 방법은 무엇입니까?golang에서 응용 프로그램이 관리자 권한으로 실행 중인지 확인하십시오.

+2

내가 알고있는 것을 확인할 수있는 패키지가 없다 ... 그러나 시스템 파일을 쓰기 위해 열려고 시도 할 수 있으며 오류가 발생하면 관리자 권한으로 실행되지 않을 수 있습니다. –

답변

3

짧은 대답은 user.Current입니다. 어떻게 ...

user.User 구조체가 주어진 경우 사용자가 root인지 여부를 알아야합니다. 당신은 그걸 스스로 알아 내야 할 것입니다. 더 중요한 것은 보안 목적으로 이것을 사용하면 안됩니다. 현재 사용자가 루트가 인지 여부는 프로그램을 실행하는 사람이에게 거짓말하지 않고 파악하는 것은 매우 까다 롭습니다. 예를 들어 리눅스에서 setuid 바이너리를 사용하여 순진하게 구현하면 LD_PRELOAD를 사용하는 사용자가 바이너리를 트릭하여 루트로 실행 중이라고 생각하게됩니다. a) 사용자가이를 우회 할 수있는 방법이 없다는 것을 확신 할 수있는 정확한 의미를 이해하고 (이 경로를 선택하면 다른 사람들이 알아 낸 것일 수도 있음) b)이 정보를 바탕으로 보안에 중대한 결정을 내리지 마십시오.

관련 문제