バグ #290
高橋 徹 さんが約1ヶ月前に更新
www.torutk.com の gitリポジトリへのpushでエラーと思われるメッセージが表示された。なお、pushで追加したコンテンツはリポジトリにpushされていた。
実施した手順
* @git clone http://www.torutk.com/git/swe.primus@
* ローカルで変更・コミット
* @% git push@
<pre>
Username for 'https://www.torutk.com': XXXXXXXX
Password for 'https://torutk@www.torutk.com':
warning: redirecting to https://www.torutk.com/git/swe.primus/
Enumerating objects: 31, done.
Counting objects: 100% (31/31), done.
Delta compression using up to 10 threads
Compressing objects: 100% (19/19), done.
Writing objects: 100% (28/28), 45.33 KiB | 22.66 MiB/s, done.
Total 28 (delta 2), reused 0 (delta 0), pack-reused 0
remote: fatal: mmap failed: Permission denied
To http://www.torutk.com/git/swe.primus
e8a1f91..4fc15b6 master -> master
</pre>
ここで、次のメッセージが気になる点
@remote: fatal: mmap failed: Permission denied@
* SELinuxのログ
<pre>
time->Tue Mar 25 09:24:22 2025
type=PROCTITLE msg=audit(1742862262.376:181379): proctitle=676974007570646174652D7365727665722D696E666F
type=SYSCALL msg=audit(1742862262.376:181379): arch=c000003e syscall=9 success=no exit=-13 a0=0 a1=5504 a2=1 a3=2 items=0 ppid=572449 pid=572455 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="git" exe="/usr/bin/git" subj=system_u:system_r:git_script_t:s0 key=(null)
type=AVC msg=audit(1742862262.376:181379): avc: denied { map } for pid=572455 comm="git" path="/var/lib/git/swe.primus.git/objects/pack/pack-ba2976612c233b683714126c6161cee998c36630.idx" dev="vda4" ino=269934671 scontext=system_u:system_r:git_script_t:s0 tcontext=unconfined_u:object_r:git_rw_content_t:s0 tclass=file permissive=0
</pre>
h4. 原因・対処
Apache Webサーバーから起動される git コマンドは、SELinuxの検査対象となる。
gitコマンドがhttpdコンテクストで実行され、/var/lib/git下のhttpd_var_lib_tコンテクストにアクセスする際にシステムコール mmap が許可されていないため。
対処は、SELinuxのブール値 domain_can_mmap_files をデフォルトのオフからオンに変更すること。
戻る