Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menjalankan Perintah Luaran sebagai Pengguna Lain dalam Go?

Bagaimanakah Saya Boleh Menjalankan Perintah Luaran sebagai Pengguna Lain dalam Go?

DDD
Lepaskan: 2024-12-25 22:11:13
asal
161 orang telah melayarinya

How Can I Run External Commands as Another User in Go?

Menggunakan Pakej os/exec Go untuk Menjalankan Perintah Luaran Di Bawah Pengguna Lain

Apabila bekerja dalam persekitaran *nix, selalunya perlu menjalankan arahan luaran bagi pihak pengguna lain. Secara tradisinya, ini akan dicapai menggunakan arahan "su" atau "bash". Walau bagaimanapun, terdapat cara yang lebih selamat dan cekap untuk melakukan ini menggunakan pakej os/exec Go.

Kunci untuk menjalankan perintah luaran sebagai pengguna lain ialah menetapkan kelayakan yang sesuai. Ini boleh dilakukan menggunakan struct syscall.Credential.

cmd := exec.Command(command, args...)
cmd.SysProcAttr = &syscall.SysProcAttr{}
cmd.SysProcAttr.Credential = &syscall.Credential{Uid: uid, Gid: gid}
Salin selepas log masuk

Dengan menetapkan medan Uid dan Gid syscall.Struktur kelayakan kepada ID pengguna dan kumpulan yang dikehendaki, arahan luaran akan dijalankan dengan yang sesuai keistimewaan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Perintah Luaran sebagai Pengguna Lain dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan