| 1348 | } |
| 1349 | |
| 1350 | func setEnvFromEtcEnvironment(logf log.Func) error { |
| 1351 | environ, err := os.ReadFile("/etc/environment") |
| 1352 | if errors.Is(err, os.ErrNotExist) { |
| 1353 | logf(log.LevelDebug, "Not loading environment from /etc/environment, file does not exist") |
| 1354 | return nil |
| 1355 | } |
| 1356 | if err != nil { |
| 1357 | return err |
| 1358 | } |
| 1359 | for _, env := range strings.Split(string(environ), "\n") { |
| 1360 | pair := strings.SplitN(env, "=", 2) |
| 1361 | if len(pair) != 2 { |
| 1362 | continue |
| 1363 | } |
| 1364 | os.Setenv(pair[0], pair[1]) |
| 1365 | } |
| 1366 | return nil |
| 1367 | } |
| 1368 | |
| 1369 | type userInfo struct { |
| 1370 | uid int |