1
Crystal 언어 프로세스가 루트로 실행중인 경우 다른 언어로 변경할 수 있습니까? 예를 들어 :Crystal lang 프로세스가 사용자 (사용자/사용자)를 변경할 수 있습니까?
old_euid, old_ui = Process.euid, Process.uid
Process.euid = someone_else
Process.uid = someone_else
Crystal 언어 프로세스가 루트로 실행중인 경우 다른 언어로 변경할 수 있습니까? 예를 들어 :Crystal lang 프로세스가 사용자 (사용자/사용자)를 변경할 수 있습니까?
old_euid, old_ui = Process.euid, Process.uid
Process.euid = someone_else
Process.uid = someone_else
예, 바인딩을 사용하여은과 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
합니다.)