- Environment variables `UID` and `GID`, both defaulting to `1000` - All subprocesses (openvpn, tinyproxy, etc.) run using the UID and GID given - All files are written with an ownership for the UID and GID given - Port forwarded file has also ownership for UID, GID and read permission only
This commit is contained in:
@@ -18,6 +18,8 @@ type Settings struct {
|
||||
Firewall Firewall
|
||||
TinyProxy TinyProxy
|
||||
ShadowSocks ShadowSocks
|
||||
UID int
|
||||
GID int
|
||||
}
|
||||
|
||||
func (s *Settings) String() string {
|
||||
@@ -32,6 +34,7 @@ func (s *Settings) String() string {
|
||||
}
|
||||
return strings.Join([]string{
|
||||
"Settings summary below:",
|
||||
fmt.Sprintf("|-- Using UID %d and GID %d", s.UID, s.GID),
|
||||
s.OpenVPN.String(),
|
||||
vpnServiceProvider,
|
||||
s.DNS.String(),
|
||||
@@ -115,5 +118,13 @@ func GetAllSettings(params params.ParamsReader) (settings Settings, err error) {
|
||||
if err != nil {
|
||||
return settings, err
|
||||
}
|
||||
settings.UID, err = params.GetUID()
|
||||
if err != nil {
|
||||
return settings, err
|
||||
}
|
||||
settings.GID, err = params.GetGID()
|
||||
if err != nil {
|
||||
return settings, err
|
||||
}
|
||||
return settings, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user