


Is it possible to run sudo commands in go without running the program itself as sudo
php Editor Banana is here to answer a question about the Go language: Is it possible to run the sudo command in Go without running the program itself as sudo? In the Go language, by using the Command function in the os/exec package, we can execute system commands, including sudo commands, in the program. However, it should be noted that if you want to execute sudo commands in a Go program, the program itself must have sudo permissions. Otherwise, the program will not be able to successfully execute the sudo command. Therefore, if you wish to execute sudo commands in a Go program, it is very important to ensure that the program itself has sudo permissions.
Problem content
This program runs multiple commands that require sudo permissions (such as sudo dnf update). Since the program should be installed using the go install
command, it cannot be run as sudo without a user completing the configuration (as far as I know).
The program does not display output to the user to keep the output clean. To show that a process is running, it uses spinners from the spinner library.
Can I do these things?
- Get sudo permissions from within the program
- Make the program runable via sudo, even if it was installed using
go install
- Show the output of sudo commands (including password requests) without being overwritten by the spinner
Here is a simplified version of what I want the code to do:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
Solution
_, err := exec.Command(os.Getenv("SHELL"), "-c", "sudo dnf update -y"). Output()
In this example, add sudo
before the command you want to run as sudo and after running the program, you will be asked for the password for sudo, If you apply this to the example code, You won't see the password request message because rotating the graphic will overwrite it, but if you try this without rotating the graphic you can see it. Even if you don't see the message, if you enter the correct password and press Enter, your command will work like this sudo. This way you don't need to run the application as sudo. I've run similar commands using it and they work.
The above is the detailed content of Is it possible to run sudo commands in go without running the program itself as sudo. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Queue threading problem in Go crawler Colly explores the problem of using the Colly crawler library in Go language, developers often encounter problems with threads and request queues. �...

The library used for floating-point number operation in Go language introduces how to ensure the accuracy is...

Which libraries in Go are developed by large companies or well-known open source projects? When programming in Go, developers often encounter some common needs, ...

Go pointer syntax and addressing problems in the use of viper library When programming in Go language, it is crucial to understand the syntax and usage of pointers, especially in...

Using Golang to implement Linux...

Regarding the problem of custom structure tags in Goland When using Goland for Go language development, you often encounter some configuration problems. One of them is...

The difference between string printing in Go language: The difference in the effect of using Println and string() functions is in Go...

Performance optimization strategy for Go language massive URL access This article proposes a performance optimization solution for the problem of using Go language to process massive URL access. Existing programs from CSV...
