root以外のユーザーとして/usr/sbin/からコマンドを実行しようとしたときにメッセージを表示する方法はありますか?

root以外のユーザーとして/usr/sbin/からコマンドを実行しようとしたときにメッセージを表示する方法はありますか?

たとえば、私が使用したほとんどのLinuxディストリビューションで次のように入力した場合設定されている場合通常のユーザーであれば、ルートだけがそのようなコマンドを実行できるというメッセージを受け取ります。

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

ifconfigChris Downが言ったように、これらのプロンプトメッセージがデフォルトIDで発行されるのを見たことはありません。

おすすめ記事