Windows ACL の UGREEN NAS における実装方法とセキュリティメカニズム
一、概要
アクセス制御リスト(Access Control List、略称 ACL)は、システム内のオブジェクト(ファイル、フォルダ、プログラムなど)へのアクセス権限を制御するための細粒度な権限管理メカニズムです。各 ACL は複数のアクセス制御エントリ(Access Control Entry、ACE)で構成され、各エントリは特定のユーザーまたはグループが対象オブジェクトに対して持つ権限タイプ(読み取り、書き込み、削除、管理などの操作)を定義します。
Ugreen NAS は Windows ACL 権限モデルを完全にサポートしています。管理者は Ugreen NAS のアカウント管理機能を通じて、異なるユーザーやグループに対して独立したストレージクォータ、アクセス速度制限、アクセス権限を設定でき、高いセキュリティを維持しながら柔軟なマルチユーザーコラボレーションを実現します。
さらに、各ユーザーは独立した「ホーム」フォルダを所有し、システムは ACL を通じてユーザー間のデータアクセスを自動的に分離し、プライバシーとセキュリティを確保します。
二、用語解説
|
名称 |
英語正式名称 |
定義説明 |
|
アクセス制御リスト (ACL) |
Access Control List |
オブジェクト(ファイル、ディレクトリ、プロセスなど)のセキュリティ属性を定義するためのリスト。ACLは複数のACEエントリで構成される。 |
|
アクセス制御エントリ (ACE) |
アクセス制御エントリ |
ACLの基本単位であり、セキュリティ主体(ユーザーまたはグループ)のアクセス権限や継承属性などの情報を定義します。 |
三、カスタム Windows ACL 権限
Ugreen NASはグラフィカルな権限管理インターフェースを提供しており、管理者は以下の方法でユーザー、グループ、または共有フォルダのアクセス制御を設定できます。
ユーザー権限の編集:
1. 【コントロールパネル】アプリを開き、【ユーザー管理】>【ユーザー】をクリック。
2. 変更対象のユーザーを右クリックし、「編集」を選択。
3. 「権限と設定」オプションをクリックし、ユーザーが共有フォルダに対して持つアクセスレベルを設定します:
● アクセス禁止:当該フォルダおよびサブフォルダへのアクセス不可;
● 読み取り専用:内容の閲覧は可能だが、変更や削除は不可;
● 読み取りと書き込み:ファイルの読み取り、変更、削除、新規作成が可能。
4. 「保存」をクリックして設定を完了します。
ユーザーグループの権限を編集する:
1. 【コントロールパネル】アプリを開き、【ユーザー管理】>【ユーザーグループ】をクリック
2. 対象グループを右クリックし、「編集」をクリック。
3. 「権限と設定」オプションをクリックし、グループに共有フォルダのアクセスレベル(アクセス禁止 / 読み取り専用 / 読み書き)を設定します。
4. 「保存」をクリックして設定を完了します。
共有フォルダの権限編集
1. 【ファイル管理】アプリを開き、サイドバーで「共有フォルダ」をクリックします。
2. 対象フォルダを右クリックし、「プロパティ」を選択します。
3. 「権限」オプションをクリックし、管理者、一般ユーザー、ユーザーグループごとにアクセス権限を設定できます。
4. 各ユーザー・グループに対応する権限チェックボックスを選択または解除し、「OK」をクリックして設定を保存します。
四、Windows ACL権限の確認
NAS端末では、 ugacltoolコマンド を使用して現在のディレクトリまたはファイルのACL権限設定を確認できます。例:
ugacltool get test.txt
出力結果例:

上記の例には4つのアクセス制御エントリ(ACE)が含まれています:
● admin グループ:読み取り/書き込み権限
● u1 ユーザー:読み書き可能
● user2 ユーザー:読み取り/書き込み
● user3 ユーザー:読み取り専用
五、ACL 権限ビットの説明
Ugreen NAS は以下の 6 種類のロールに対して ACL 権限の設定をサポートし、同時に「rwxpdDaARWcCo」13 種類の権限ビットと「fdin」4 種類の継承権限をサポートします。
[user | group | owner | everyone | authenticated_user | system]
権限ビット(13種類)
|
記号 |
意味 |
説明 |
|
r |
データ読み取り |
ファイル内容を読み取る |
|
w |
write data |
ファイルへの書き込み/作成 |
|
x |
実行 |
実行 |
|
p |
データを追加 |
ディレクトリ作成 |
|
d |
削除 |
現在のファイルを削除 |
|
D |
子ディレクトリ削除 |
ディレクトリ内のファイルを削除 |
|
a |
read attribute |
拡張属性の読み取り |
|
A |
属性を書き込む |
拡張属性の書き込み |
|
R |
read xattr |
予約 |
|
W |
write xattr |
予約 |
|
c |
read acl |
ACLを読み取る |
|
C |
write acl |
ACLを変更する |
|
o |
所有権 |
所有権の変更(自身のみに変更可能) |
継承属性(4種類)
|
記号 |
意味 |
説明 |
|
f |
ファイル継承 |
ファイル継承 |
|
d |
directory inherited |
ディレクトリ継承 |
|
i |
継承のみ |
継承専用、認証には使用しない |
|
n |
no propagate |
再帰的な多段階継承は行わず、次のレベルのみを継承する |
六、権限継承メカニズム
1. 自動継承ルール
子オブジェクトはデフォルトで親ディレクトリのACL権限を継承する。例: フォルダDirectory Aが ユーザーMikeに 読み取り権限を付与している場合、そのフォルダ内の全ファイルは 自動的にMikeのアクセスを 許可する。
2. 動的更新
親ディレクトリの権限が変更されると、システムは自動的に子フォルダとファイルの権限を同期更新します。
ユーザーが手動で chmod コマンドを使用してファイル権限を変更した場合でも、ACL 継承はシステムの再起動または再同期時に復元されます。
七、Windows ACL と Linux 権限のセキュリティ機構
NAS端末でlsまたはstatコマンドを使用して共有フォルダを確認すると、ファイル権限が777(rwxrwxrwx)と表示される場合があります。
これはセキュリティリスクを示すものではなく、互換性とセキュリティ設計上の配慮によるものです。

1. 互換性の差異:
Windows ACLとLinuxの伝統的な権限体系(owner/group/others)は構造が異なり、完全に対応できません。
Ugreen NASは777を表示する方式を採用し、すべてのアクセス制御ロジックをACL層で統一管理します。
2. Windows ACL と SSH 権限チェック機構:
ディレクトリまたはファイルにWindows ACLが有効化されると、システムは従来のLinux権限に依存せず、ACLに基づいてアクセス権限を判定します。この場合、ls -lで権限を確認すると777(rwxrwxrwx)と表示されます。これは互換性と安全性を考慮した表示方法です。
SSH公開鍵ファイルを共有フォルダに保存しNASへのログインを試みると、当該ディレクトリがWindows ACLで管理されているため、Linux層の権限表示は777となります。sshdサービスはログイン前のセキュリティチェックにおいて、この鍵の権限が広すぎると判定し、認証を拒否します。
これはシステムカーネルによるアクセス拒否ではなく、SSHサービスが安全でないログインを積極的に阻止する動作です。
したがって、共有フォルダ内のファイルが777権限で表示されてもセキュリティリスクとはならず、むしろこの仕組みは鍵が誤って共有ディレクトリに置かれた際の悪用を防止する、より安全で合理的な設計選択です。
3. セキュリティ推奨事項:
SSHログインキー:個人フォルダ内の~/.sshディレクトリに配置してください;
Docker用キー:/rootまたは独自に構築した安全なディレクトリに配置可能;
機密情報または鍵ファイルを共有フォルダに保存しないこと。
八、管理者SSHログインとACL検証メカニズム
admin ユーザーグループ (管理者)に属するアカウントの場合:
● SSHキーでログインする場合 、システムはログインユーザーおよび admin グループに関連する ACL エントリのみを検証します;
● 余分な ACL ルール(同一ディレクトリへの他のユーザーやグループの追加など)が検出された場合 、SSH ログインは拒否されます;
● この設計により 、SSH公開鍵ログインの安全性と一意性が保証されます。