timo 发布的文章

1 前言

1.1什么是nobody?

维基百科上这么说的

https://zh.wikipedia.org/wiki/Nobody_(%E7%94%A8%E6%88%B7%E5%90%8D)

在许多Unix系统与类Unix系统(如Linux)中,nobody是一个没有任何权限的用户。该用户不拥有任何文件,不属于任何特权组,并且除了其他用户都具有的权限外,没有任何特殊权限。某些系统还会定义类似的用户组“nogroup”。

1.2优点

哪吒agent在系统上是以root权限运行的,权限过大,nobody无任何权限,那样子就更加安全了

1.3缺点

我发现,用完之后ping失效了,

3ashkdbjh23b4u23r23b.png
不过也无所谓,我本地nas有uptime kuma的ping
oRkc8wi.png

2 哪吒的其他安全措施

可以参考我的这些

  1. 列表项目

tls回源,加上cloudflare隐藏ip,关闭8008端口的外部访问,把哪吒后台重定向到首页
可以看我这个https://qklg.net/post/20241231/
不过前几天cloudflare的grpc出问题了,我的解决办法可以看这个
https://qklg.net/post/20250415/

  1. 列表项目

关闭密码登录,用github 或者谷歌登录
谷歌可以参考我博客的这篇 https://qklg.net/post/20250126/
github的话可以看官方文档

debian修改

参考https://www.nodeseek.com/post-315789-1

  1. 权限修改

把/opt/nezha下文件夹和文件统统搞成nobody

chown -R nobody:nogroup /opt/nezha/

效果如图
3J7Vr54.png

  1. 修改systemd

/etc/systemd/system/nezha-agent.service
加入如下

User=nobody
Group=nogroup
WorkingDirectory=/home

效果如图
bFfpVHA.png

  1. 重启systemctl和nezha
systemctl daemon-reload
systemctl restart nezha-agent.service
  1. 效果检查
ps -ef | grep agent

bFfpVHA.png

4. openwrt修改

openwrt的安装办法是基于官方文档的
官方openwrt的agent安装办法请查看文档
https://nezha.wiki/guide/agent.html#%E5%9C%A8-openwrt-%E7%B3%BB%E7%BB%9F%E4%B8%AD%E5%AE%89%E8%A3%85-agent

  1. 权限修改

openwrt的是在/etc/nezha下的
所以命令修改下了

chown -R nobody:nogroup /etc/nezha/

效果如下

2025-04-24T02:20:06.png

  1. 修改init.d
    /etc/init.d/nezha-service

    #!/bin/sh /etc/rc.common
    
    START=99
    USE_PROCD=1
    
    start_service() {
     procd_open_instance
     procd_set_param command /etc/nezha/nezha-agent -c /etc/nezha/config.yml
     procd_set_param user nobody
     procd_set_param group nogroup
     procd_set_param respawn
     procd_close_instance
    }
    
    stop_service() {
     killall nezha-agent
    }
    
    restart() {
     stop
     sleep 2
     start
    }
  2. 重启init.d

    /etc/init.d/nezha-service enable
    /etc/init.d/nezha-service restart
  3. 效果检查

    ps -ef | grep agent

    2025-04-24T02:21:45.png

    5. unraid修改

    unraid的安装办法的话基于

https://qklg.net/post/20241209/

  1. 权限修改
    我的是在/mnt/disk1/nezha 下
    命令如下

    chown -R nobody:nogroup /mnt/disk1/nezha/

    2025-04-24T02:22:29.png

  2. 修改脚本
    /boot/config/plugins/user.scripts/scripts/nezha 脚本
    改成如下

    #!/bin/bash
    su -s /bin/bash nobody -c "/mnt/disk1/nezha/nezha-agent -c /mnt/disk1/nezha/config.yml"
  3. 重启脚本
    unraid上脚本重启的话 停止之后,再重新启动即可
  4. 效果检查
    2025-04-24T02:23:23.png

    ps -ef | grep agent

    2025-04-24T02:23:35.png
    如果还有其他的进程运行的话,root下的
    直接kill -9 进程号就行了