ufw“未找到命令” - 但作为 root 用户!

ufw“未找到命令” - 但作为 root 用户!

我的 Debian 11 VPS 现在运行了大约 2 周,今天我只是想分析一下,为什么我的流量约为 70GiB(按 bashtop 计算)。所以我在网上的某个地方读到了有关 nethogs 的内容,这可能会有所帮助。所以我用我的非 root 但 sudo 分组的用户安装了它。

sudo apt安装nethogs

我无法运行它。

所以我切换到root用户

但还是没有成功。所以我只是想检查一下最重要的事情,ufw。

UFW 状态

输出:找不到命令


所以 ...

  1. ufw已安装
  2. 但如果我从完整路径执行它,它就会起作用

/usr/sbin/ufw 状态

但我还想知道,到目前为止,传入流量是否真的被默认阻止:

/usr/sbin/ufw 状态详细

输出:错误:运行 sysctl 时出现问题

事情真的很糟糕......我不知道为什么?两周前我做的最后一件事是使用 kuma_install.sh 安装 kuma-uptime 之后我没有尝试 ufw。所以。我的 $PATH 似乎无法正常工作 - 即使作为 root 用户也是如此。

我不是专家,但这就是我的 bashrc 文件的样子(来自 root 用户):

# ~/.bashrc: executed by bash(1) for non-login shells.

# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022

# You may uncomment the following lines if you want `ls' to be colorized:
# export LS_OPTIONS='--color=auto'
# eval "`dircolors`"
# alias ls='ls $LS_OPTIONS'
# alias ll='ls $LS_OPTIONS -l'
# alias l='ls $LS_OPTIONS -lA'
#
# Some more alias to avoid making mistakes:
# alias rm='rm -i'
# alias cp='cp -i'
# alias mv='mv -i'

和 .profile 文件:

# ~/.profile: executed by Bourne-compatible login shells.

if [ "$BASH" ]; then
  if [ -f ~/.bashrc ]; then
    . ~/.bashrc
  fi
fi

mesg n 2> /dev/null || true

这是 ufw 的路径:

ufw: /usr/sbin/ufw /etc/ufw /lib/ufw /usr/share/ufw /usr/share/man/man8/ufw.8.gz

这是我的 echo $PATH:

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin

希望这已经足够了,有人可以帮助我,你是我最后的希望。否则我必须切换到ubuntu,也许ubuntu表现更好。我希望,我能在你的帮助下解决问题。如果有人能或多或少地告诉我我现在到底要做什么,那就太好了。

答案1

这是 Debian 中的预期行为。

nethogs完整路径是/usr/sbin/nethogs.

/usr/sbinDebian 中的非 root 用户在其默认 $PATH 中没有。

使用命令,su您成为 root,但环境变量不会扩展。使用以下任一方法:

  1. su -进而nethogs
  2. sudo su进而nethogs
  3. sudo nethogs

更多信息请点击此处使用非 root 用户登录时无法访问某些命令(即使在“su root”之后)

编辑:你提到切换到 Ubuntu。 Ubuntu 非 root 用户的/usr/sbin默认 $PATH 中确实有,因此这里可能不会那么混乱。但是,无论如何,您都需要 root 访问权限才能完美运行 nethogs。

相关内容