Installer refuses an older Linux Home whose files are group-writable or owned by root

オープン
#516 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
72/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
linux, rust
領域
devops

調査の方向性

Start with install_transaction.rs, focusing on check_file and check_directory_mode. Trace how the installer handles group/other write permissions and root-owned files, then check the installer tests for those cases. Done means the installer repairs unsafe permissions on user-owned files and folders and reports one chown command for root-owned files.

索引モデルが issue の本文から書いたものです。

説明

Problem

On a Linux or Jetson computer that already has an older ElastOS install, the 2.0.0 installer can stop before it changes anything:

Error: installation file is unsafe: /home/<user>/.local/bin/elastos is accessible to other users; fix with: chmod go-w '/home/<user>/.local/bin/elastos'
Error: This installation was not changed

After that file is fixed it names the next one (for example ~/.local/share/elastos/components.json). If chmod answers Operation not permitted, some ElastOS files belong to root, usually from an earlier install run with sudo.

Seen 2 Nov 2026 on a Jetson whose Home was created by a March 2026 release. New installs are not affected: the installer now creates its files owner-only, and fresh installs on default Ubuntu settings pass.

Workaround

Run as the user who owns the Home, not as root:

sudo chown -R "$(id -un)": ~/.local/share/elastos ~/.local/bin/elastos
chmod -R go-w ~/.local/share/elastos ~/.local/bin/elastos
curl -fsSL https://elastos.elacitylabs.com/install.sh | bash

sudo is only for giving the files back to you. Do not delete ~/.local/share/elastos: it holds this Home's identity and keys.

Fix (2.0.1)

The installer should repair group/other write on files and folders that are its own and owned by the user, and name root-owned ones with the one chown command, instead of refusing file by file. Check: install_transaction.rs check_file / check_directory_mode.

主要言語
Rust
スター
6
フォーク
2
平均マージ
1日 3時間
マージ済み PR(30日)
42

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

elastos/elastos-runtime のほかの issue

elastos/elastos-runtime の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。