|
|
@ -14,6 +14,7 @@ import (
|
|
|
|
"os/exec"
|
|
|
|
"os/exec"
|
|
|
|
"path"
|
|
|
|
"path"
|
|
|
|
"path/filepath"
|
|
|
|
"path/filepath"
|
|
|
|
|
|
|
|
"runtime"
|
|
|
|
"strings"
|
|
|
|
"strings"
|
|
|
|
"sync"
|
|
|
|
"sync"
|
|
|
|
"time"
|
|
|
|
"time"
|
|
|
@ -160,12 +161,16 @@ func saveAuthorizedKeyFile(key *PublicKey) error {
|
|
|
|
if err != nil {
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// FIXME: following command does not support in Windows.
|
|
|
|
|
|
|
|
if runtime.GOOS != "windows" {
|
|
|
|
if finfo.Mode().Perm() > 0600 {
|
|
|
|
if finfo.Mode().Perm() > 0600 {
|
|
|
|
log.Error(4, "authorized_keys file has unusual permission flags: %s - setting to -rw-------", finfo.Mode().Perm().String())
|
|
|
|
log.Error(4, "authorized_keys file has unusual permission flags: %s - setting to -rw-------", finfo.Mode().Perm().String())
|
|
|
|
if err = f.Chmod(0600); err != nil {
|
|
|
|
if err = f.Chmod(0600); err != nil {
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
_, err = f.WriteString(key.GetAuthorizedString())
|
|
|
|
_, err = f.WriteString(key.GetAuthorizedString())
|
|
|
|
return err
|
|
|
|
return err
|
|
|
|