mirror of https://github.com/Xhofe/alist
feat: allow customize perm of unix file (close #4709)
parent
d3530a8d80
commit
2b533e4b91
|
@ -7,6 +7,7 @@ import (
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
@ -74,6 +75,16 @@ the address is defined in config file`,
|
||||||
if err != nil {
|
if err != nil {
|
||||||
utils.Log.Fatalf("failed to listen unix: %+v", err)
|
utils.Log.Fatalf("failed to listen unix: %+v", err)
|
||||||
}
|
}
|
||||||
|
// set socket file permission
|
||||||
|
mode, err := strconv.ParseUint(conf.Conf.Scheme.UnixFilePerm, 8, 32)
|
||||||
|
if err != nil {
|
||||||
|
utils.Log.Errorf("failed to parse socket file permission: %+v", err)
|
||||||
|
} else {
|
||||||
|
err = os.Chmod(conf.Conf.Scheme.UnixFile, os.FileMode(mode))
|
||||||
|
if err != nil {
|
||||||
|
utils.Log.Errorf("failed to chmod socket file: %+v", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
err = unixSrv.Serve(listener)
|
err = unixSrv.Serve(listener)
|
||||||
if err != nil && err != http.ErrServerClosed {
|
if err != nil && err != http.ErrServerClosed {
|
||||||
utils.Log.Fatalf("failed to start unix: %s", err.Error())
|
utils.Log.Fatalf("failed to start unix: %s", err.Error())
|
||||||
|
|
|
@ -20,13 +20,14 @@ type Database struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
type Scheme struct {
|
type Scheme struct {
|
||||||
Address string `json:"address" env:"ADDR"`
|
Address string `json:"address" env:"ADDR"`
|
||||||
HttpPort int `json:"http_port" env:"HTTP_PORT"`
|
HttpPort int `json:"http_port" env:"HTTP_PORT"`
|
||||||
HttpsPort int `json:"https_port" env:"HTTPS_PORT"`
|
HttpsPort int `json:"https_port" env:"HTTPS_PORT"`
|
||||||
ForceHttps bool `json:"force_https" env:"FORCE_HTTPS"`
|
ForceHttps bool `json:"force_https" env:"FORCE_HTTPS"`
|
||||||
CertFile string `json:"cert_file" env:"CERT_FILE"`
|
CertFile string `json:"cert_file" env:"CERT_FILE"`
|
||||||
KeyFile string `json:"key_file" env:"KEY_FILE"`
|
KeyFile string `json:"key_file" env:"KEY_FILE"`
|
||||||
UnixFile string `json:"unix_file" env:"UNIX_FILE"`
|
UnixFile string `json:"unix_file" env:"UNIX_FILE"`
|
||||||
|
UnixFilePerm string `json:"unix_file_perm" env:"UNIX_FILE_PERM"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type LogConfig struct {
|
type LogConfig struct {
|
||||||
|
|
Loading…
Reference in New Issue