You need to enable JavaScript to run this app. Ubuntu 20.xx 守护进程运行可执行文件间歇性无法访问问题咨询
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.xx 守护进程运行可执行文件间歇性无法访问问题咨询

问题根因分析

  • 最高概率原因:你开启了Ubuntu的 eCryptfs用户主目录加密 功能

    Ubuntu默认提供的用户主目录加密方案,会将用户的真实文件加密存储在/home/.ecryptfs/你的用户名/路径下,只有当用户通过SSH、本地登录等方式完成身份校验后,系统才会自动将解密后的目录临时挂载到/home/你的用户名/路径下;当用户退出登录后,挂载点会被自动卸载,此时直接访问/home/myUser/下的路径就会提示不存在。
    你用Putty登录的操作刚好触发了主目录的解密挂载,所以后续服务重启时就能正常访问到对应路径,和你日志里的时间点完全吻合。

  • 其他次要可能原因:
    1. /home/myUser/myFolder/对应的路径是用户级自动挂载的网络存储(NFS/SMB等),仅在用户登录后才会完成挂载
    2. 你给上级目录设置了特殊访问权限,仅当用户登录后通过PAM模块分配的动态组/权限才能访问

可行解决方案

  • 如果确认是主目录加密导致的问题,可任选一种方案处理:
    1. 将程序和相关文件移出加密主目录,放到/opt/、/usr/local/这类系统级公共路径下,同时修改启动脚本里的对应路径,从根本上避免依赖用户登录才挂载的目录
    2. 调整eCryptfs配置,关闭退出登录自动卸载主目录的特性,执行命令:ecryptfs-umount-private --disable,操作后即使用户退出登录,主目录也会保持挂载状态
    3. 将systemd服务调整为用户级服务(user systemd),设置为用户登录时才启动,和主目录的挂载生命周期对齐
  • 如果是网络存储挂载导致的问题,可以在systemd服务配置里添加依赖,等待网络和挂载点就绪后再启动服务,添加如下配置到你的.service文件的[Unit]段:
    After=network.target mnt-yourmountpoint.mount
    Requires=network.target mnt-yourmountpoint.mount
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 04:45:00