mirror of
https://github.com/drakkan/sftpgo.git
synced 2025-12-06 22:30:56 +03:00
relax Unix domain socket permissions so that they are group writable
Fixes #1507 Signed-off-by: Nicola Murino <nicola.murino@gmail.com>
This commit is contained in:
@@ -7,6 +7,7 @@ User=sftpgo
|
|||||||
Group=sftpgo
|
Group=sftpgo
|
||||||
Type=simple
|
Type=simple
|
||||||
WorkingDirectory=/etc/sftpgo
|
WorkingDirectory=/etc/sftpgo
|
||||||
|
RuntimeDirectory=sftpgo
|
||||||
Environment=SFTPGO_CONFIG_DIR=/etc/sftpgo/
|
Environment=SFTPGO_CONFIG_DIR=/etc/sftpgo/
|
||||||
Environment=SFTPGO_LOG_FILE_PATH=
|
Environment=SFTPGO_LOG_FILE_PATH=
|
||||||
EnvironmentFile=-/etc/sftpgo/sftpgo.env
|
EnvironmentFile=-/etc/sftpgo/sftpgo.env
|
||||||
|
|||||||
@@ -582,13 +582,19 @@ func HTTPListenAndServe(srv *http.Server, address string, port int, isTLS bool,
|
|||||||
if !IsFileInputValid(address) {
|
if !IsFileInputValid(address) {
|
||||||
return fmt.Errorf("invalid socket address %q", address)
|
return fmt.Errorf("invalid socket address %q", address)
|
||||||
}
|
}
|
||||||
err = createDirPathIfMissing(address, os.ModePerm)
|
err = createDirPathIfMissing(address, 0770)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.ErrorToConsole("error creating Unix-domain socket parent dir: %v", err)
|
logger.ErrorToConsole("error creating Unix-domain socket parent dir: %v", err)
|
||||||
logger.Error(logSender, "", "error creating Unix-domain socket parent dir: %v", err)
|
logger.Error(logSender, "", "error creating Unix-domain socket parent dir: %v", err)
|
||||||
}
|
}
|
||||||
os.Remove(address)
|
os.Remove(address)
|
||||||
listener, err = newListener("unix", address, srv.ReadTimeout, srv.WriteTimeout)
|
listener, err = newListener("unix", address, srv.ReadTimeout, srv.WriteTimeout)
|
||||||
|
if err == nil {
|
||||||
|
// should a chmod err be fatal?
|
||||||
|
if errChmod := os.Chmod(address, 0770); errChmod != nil {
|
||||||
|
logger.Warn(logSender, "", "unable to set the Unix-domain socket group writable: %v", errChmod)
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
CheckTCP4Port(port)
|
CheckTCP4Port(port)
|
||||||
listener, err = newListener("tcp", fmt.Sprintf("%s:%d", address, port), srv.ReadTimeout, srv.WriteTimeout)
|
listener, err = newListener("tcp", fmt.Sprintf("%s:%d", address, port), srv.ReadTimeout, srv.WriteTimeout)
|
||||||
|
|||||||
Reference in New Issue
Block a user