You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ClamAV Docker非root运行报权限错误如何修改Dockerfile

问题根源

两个报错均为自建的clamav_user用户没有ClamAV运行所需目录的对应权限:

  • /var/log/clamav/目录默认属主为系统自带的clamav用户,普通用户无写入权限,无法追加日志
  • /var/run/clamav是运行时动态目录,默认仅允许root创建,非root用户无操作权限
    另外原Dockerfile存在笔误:将TCPAddr配置写入了clamd.js而非clamd.conf,会导致ClamAV网络配置不生效。

具体修改点

  • 修复配置文件写入笔误
  • 提前创建/var/run/clamav运行时目录,避免运行时创建无权限
  • 给clamav_user授予ClamAV日志目录、运行时目录、病毒库目录的读写权限

修改后完整Dockerfile

From node:16.10-stretch
WORKDIR /app
COPY . .
RUN apt-get update && npm install && apt-get install clamav-daemon -y && \
    freshclam && echo "TCPSocket 3310" >> /etc/clamav/clamd.conf && \
    # 修复原笔误:改为写入clamd.conf而非clamd.js
    echo "TCPAddr 127.0.0.1" >> /etc/clamav/clamd.conf && \
    mkdir /unscanned_files && chmod -R 0777 /unscanned_files && \
    # 提前创建运行时目录、授予相关目录权限给clamav_user
    mkdir -p /var/run/clamav /var/log/clamav && \
    chown -R 10101:10101 /var/log/clamav /var/run/clamav /var/lib/clamav
RUN useradd -u 10101 clamav_user
RUN chmod -R 0777 /app/bootstrap.sh
USER clamav_user
CMD ["sh", "bootstrap.sh"]

内容的提问来源于stack exchange,提问作者gabriel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:45:04