例如,在我使用过的大多数 Linux 发行版中,当您键入时如果配置作为普通用户,您会收到一条提示消息,告诉您只有 root 可以执行此类命令。
在 Debian 中,它仅表示未找到命令(因为它正在 /usr/bin/ 中查找它)。
我想知道是否有任何方法可以提示消息,例如“ifconfig 必须以 root 身份运行”或类似的内容。
答案1
你可以这样做:
trap '
if [[ $BASH_COMMAND =~ /sbin ]] && ((UID!=0)); then
echo >&2 "${BASH_COMMAND##*/sbin/} must be run as root"
fi
' DEBUG
但ifconfig
用户也可以访问,只需键入/sbin/ifconfig
.
正如 Chris Down 所说,我从未见过ifconfig
以默认身份发出这样的提示消息。
答案2
在 Debian 中,它只说命令未找到(因为它在 /usr/bin/ 中寻找它)
/sbin
这只是意味着您的非 root 用户的 PATH 中没有。/sbin/ifconfig
当您不是 root 时,显式运行并查看它显示的内容。
如果消息正常,您只需添加/sbin
到您的 PATH 中即可。