убрана лишняя зависимость bindfs и избыточное использование дополнительного пользователя alr
This commit is contained in:
		| @@ -44,9 +44,9 @@ var HandshakeConfig = plugin.HandshakeConfig{ | ||||
|  | ||||
| func setCommonCmdEnv(cmd *exec.Cmd) { | ||||
| 	cmd.Env = []string{ | ||||
| 		"HOME=/var/cache/alr", | ||||
| 		"LOGNAME=alr", | ||||
| 		"USER=alr", | ||||
| 		"HOME=" + os.Getenv("HOME"), | ||||
| 		"LOGNAME=" + os.Getenv("USER"), | ||||
| 		"USER=" + os.Getenv("USER"), | ||||
| 		"PATH=/usr/bin:/bin:/usr/local/bin", | ||||
| 	} | ||||
| 	for _, env := range os.Environ() { | ||||
| @@ -102,9 +102,7 @@ func getSafeExecutor[T any](subCommand, pluginName string) (T, func(), error) { | ||||
| 		Cmd:             cmd, | ||||
| 		Logger:          logger.GetHCLoggerAdapter(), | ||||
| 		SkipHostEnv:     true, | ||||
| 		UnixSocketConfig: &plugin.UnixSocketConfig{ | ||||
| 			Group: "alr", | ||||
| 		}, | ||||
| 		UnixSocketConfig: &plugin.UnixSocketConfig{}, | ||||
| 		SyncStderr: os.Stderr, | ||||
| 	}) | ||||
| 	rpcClient, err := client.Client() | ||||
|   | ||||
| @@ -23,6 +23,7 @@ import ( | ||||
| 	"os" | ||||
| 	"strings" | ||||
|  | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/constants" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/pkg/dl" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/pkg/dlcache" | ||||
| ) | ||||
| @@ -74,7 +75,9 @@ func (s *SourceDownloader) DownloadSources( | ||||
| 			} | ||||
| 		} | ||||
|  | ||||
| 		opts.DlCache = dlcache.New(s.cfg.GetPaths().CacheDir) | ||||
| 		// Используем временную директорию для загрузок | ||||
| 		// dlcache.New добавит свой подкаталог "dl" внутри | ||||
| 		opts.DlCache = dlcache.New(constants.TempDir) | ||||
|  | ||||
| 		err := dl.Download(ctx, opts) | ||||
| 		if err != nil { | ||||
|   | ||||
| @@ -40,6 +40,7 @@ import ( | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/cpu" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/manager" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/overrides" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/internal/utils" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/pkg/alrsh" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/pkg/distro" | ||||
| 	"gitea.plemya-x.ru/Plemya-x/ALR/pkg/types" | ||||
| @@ -47,15 +48,21 @@ import ( | ||||
|  | ||||
| // Функция prepareDirs подготавливает директории для сборки. | ||||
| func prepareDirs(dirs types.Directories) error { | ||||
| 	err := os.RemoveAll(dirs.BaseDir) // Удаляем базовую директорию, если она существует | ||||
| 	// Пробуем удалить базовую директорию, если она существует | ||||
| 	err := os.RemoveAll(dirs.BaseDir) | ||||
| 	if err != nil { | ||||
| 		// Если не можем удалить (например, принадлежит root), игнорируем | ||||
| 		// и попробуем создать новые директории | ||||
| 	} | ||||
| 	 | ||||
| 	// Создаем директории с правильным владельцем для /tmp/alr с setgid битом | ||||
| 	err = utils.EnsureTempDirWithRootOwner(dirs.SrcDir, 0o2775) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	err = os.MkdirAll(dirs.SrcDir, 0o755) // Создаем директорию для источников | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return os.MkdirAll(dirs.PkgDir, 0o755) // Создаем директорию для пакетов | ||||
| 	 | ||||
| 	// Создаем директорию для пакетов с setgid битом | ||||
| 	return utils.EnsureTempDirWithRootOwner(dirs.PkgDir, 0o2775) | ||||
| } | ||||
|  | ||||
| // Функция buildContents создает секцию содержимого пакета, которая содержит файлы, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user