使用Golang添加Linux系统用户

1,407 阅读1分钟

使用Golang自带的ox/Exec添加Linux用户

func CreateLinuxUser(username, password string)(err error)  {
	//开始添加用户
	useradd := exec.Command("useradd", "-m", username)
	err = useradd.Start()
	if err != nil {
		Logger(2,err.Error())
		return
	}
	useradd.Wait()
    //添加用户完成
    
	ps := exec.Command("echo", password)
	grep := exec.Command("passwd", "--stdin", username)

	var buffer bytes.Buffer
	ps.Stdout = &buffer // echo "password" 的输出作为passwd --stdin username 的输入
	grep.Stdin = &buffer
	grep.Stdout = &buffer

	err = ps.Start()
	if err != nil{
		Logger(2,err.Error())
		return
	}
	ps.Wait()

	err = grep.Start()
	if err != nil{
		Logger(2,err.Error())
		return
	}
	grep.Wait()

	return
}