Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
ケイパビリティのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
ケイパビリティ
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:セキュリティ]] [[en:Capabilities]] [[zh-hans:Capabilities]] '''ケイパビリティ''' (POSIX 1003.1e, capabilities(7)) はスーパーユーザー権限の細かい制御を提供することで、root ユーザーの使用を減らすことができます。ソフトウェアの開発者はシステムバイナリの強力な [[wikipedia:ja:Setuid|setuid]] 属性を最小セットのケイパビリティで置き換えることが推奨されています。多数のパッケージがケイパビリティを利用しており、例えば CAP_NET_RAW は {{pkg|iputils}} に含まれている {{ic|ping}} バイナリで使われています。これによって ('''setuid''' と同じように) 通常ユーザーで {{ic|ping}} を実行することができ、同時に、{{ic|ping}} の脆弱性によるセキュリティ上の影響を緩和することが可能となっています。 == 要件 == ''setcap'' ユーティリティを使って、拡張属性であるファイルケイパビリティを設定するには {{Pkg|libcap}} を[[pacman|インストール]]する必要があります。 == 実装 == Linux ではケイパビリティは ''security'' 名前空間の''[[ファイルのパーミッションと属性#拡張属性|拡張属性]]'' ({{ic|man 7 xattr}}) を使って実装されています。拡張属性は Ext2, Ext3, Ext4, Btrfs, JFS, XFS, Reiserfs など全ての主要な Linux ファイルシステムでサポートされています。以下の例では {{ic|getcap}} を使って ping のケイパビリティを出力してから、{{ic|getfattr}} を使ってエンコードされた同じデータを出力しています: $ getcap /bin/ping /bin/ping = cap_net_raw+ep $ getfattr -d -m "^security\\." /bin/ping # file: bin/ping security.capability=0sAQAAAgAgAAAAAAAAAAAAAAAAAAA= {{ic|cp -a}} を使うと拡張属性は自動的にコピーされますが、プログラムによっては特殊なフラグが必要な場合もあります: {{ic|rsync -X}}。 ケイパビリティは Arch のパッケージのインストールスクリプトによって設定されます (例: {{ic|iputils.install}})。 == 管理とメンテナンス == パッケージのケイパビリティが過度に権限を与えている場合はバグと考えられます。ここに記載するのではなくバグとして報告してください。root アクセスと同等 (CAP_SYS_ADMIN) または root アクセスの許可と同等 (CAP_DAC_OVERRIDE) なケイパビリティはバグではありません。Arch は MAC/RBAC システムをサポートしていないためです。 {{Warning|特権昇格が可能になるケイパビリティは多数あります。詳しい例や説明は Brad Spengler による [http://forums.grsecurity.net/viewtopic.php?f=7&t=2522&sid=c6fbcf62fd5d3472562540a7e608ce4e#p10271 False Boundaries and Arbitrary Code Execution] を参照してください。}} == ケイパビリティを利用できる他のプログラム == 以下のパッケージには setuid 属性が設定されたファイルがありませんが、実行するには root 権限を必要とします。ケイパビリティを有効にすることで、権限昇格を行わなくても通常ユーザーでプログラムを使うことが可能になります。 === beep === # setcap cap_dac_override,cap_sys_tty_config+ep /usr/bin/beep === chvt === # setcap cap_dac_read_search,cap_sys_tty_config+ep /usr/bin/chvt === iftop === # setcap cap_net_raw+ep /usr/bin/iftop === mii-tool === # setcap cap_net_admin+ep /usr/bin/mii-tool == 便利なコマンド == setuid-root ファイルを検索: $ find /usr/bin /usr/lib -perm /4000 -user root setgid-root ファイルを検索: $ find /usr/bin /usr/lib -perm /2000 -group root == 参照 == * Man ページ: capabilities(7) setcap(8) getcap(8) * [[en2:DeveloperWiki:Security#Replacing setuid with capabilities|DeveloperWiki:Security#Replacing setuid with capabilities]] * [https://en.wikibooks.org/wiki/Grsecurity/Appendix/Capability_Names_and_Descriptions Grsecurity Appendix: Capability Names and Descriptions] * [https://www.kernel.org/doc/Documentation/prctl/seccomp_filter.txt The Linux Kernel Archives: SECure COMPuting with filters]
このページで使用されているテンプレート:
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
テンプレート:TranslationStatus
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
ケイパビリティ
に戻る。
検索
検索
ケイパビリティのソースを表示
話題を追加