Specify a "Sudo password:" prompt for sudo

Fixes #178
Closes #185
This commit is contained in:
Filippo Valsorda
2019-08-16 17:47:28 -04:00
parent 2d05f3b4d8
commit aa4dd61066
4 changed files with 28 additions and 20 deletions

View File

@@ -10,7 +10,6 @@ import (
"io/ioutil"
"log"
"os"
"os/exec"
"path/filepath"
"howett.net/plist"
@@ -51,7 +50,7 @@ var trustSettingsData = []byte(`
`)
func (m *mkcert) installPlatform() bool {
cmd := exec.Command("sudo", "security", "add-trusted-cert", "-d", "-k", "/Library/Keychains/System.keychain", filepath.Join(m.CAROOT, rootName))
cmd := commandWithSudo("security", "add-trusted-cert", "-d", "-k", "/Library/Keychains/System.keychain", filepath.Join(m.CAROOT, rootName))
out, err := cmd.CombinedOutput()
fatalIfCmdErr(err, "security add-trusted-cert", out)
@@ -62,7 +61,7 @@ func (m *mkcert) installPlatform() bool {
fatalIfErr(err, "failed to create temp file")
defer os.Remove(plistFile.Name())
cmd = exec.Command("sudo", "security", "trust-settings-export", "-d", plistFile.Name())
cmd = commandWithSudo("security", "trust-settings-export", "-d", plistFile.Name())
out, err = cmd.CombinedOutput()
fatalIfCmdErr(err, "security trust-settings-export", out)
@@ -96,7 +95,7 @@ func (m *mkcert) installPlatform() bool {
err = ioutil.WriteFile(plistFile.Name(), plistData, 0600)
fatalIfErr(err, "failed to write trust settings")
cmd = exec.Command("sudo", "security", "trust-settings-import", "-d", plistFile.Name())
cmd = commandWithSudo("security", "trust-settings-import", "-d", plistFile.Name())
out, err = cmd.CombinedOutput()
fatalIfCmdErr(err, "security trust-settings-import", out)
@@ -104,7 +103,7 @@ func (m *mkcert) installPlatform() bool {
}
func (m *mkcert) uninstallPlatform() bool {
cmd := exec.Command("sudo", "security", "remove-trusted-cert", "-d", filepath.Join(m.CAROOT, rootName))
cmd := commandWithSudo("security", "remove-trusted-cert", "-d", filepath.Join(m.CAROOT, rootName))
out, err := cmd.CombinedOutput()
fatalIfCmdErr(err, "security remove-trusted-cert", out)