2017-11-29 13 views

답변

2

예, 바인딩을 사용하여은과 libc :

lib LibC 
    fun setuid(uid_t : Int) 
    fun getuid : Int 
end 

LibC.getuid       #=> 0 
Process.run("whoami", output: true) #=> root 

LibC.setuid(uid) 
LibC.getuid       #=> my uid 
Process.run("whoami", output: true) #=> my user name 

프로그램은 물론 루트로 실행해야

(. 즉를 sudo crystal source.cr합니다.)