$ sudo lokkit
などとした場合に
sudo: lokkit: command not found
のようなエラーがでる場合の対策。
lokkitというのは、ファイアウォールの設定を簡単にするためのコマンドです。が、これはroot用なので一般ユーザのPATHが通っている場所にはないです。rootになってwhichコマンドで調べると
#which lokkit /usr/sbin/lokkit
と、/usr/sbin以下にあることがわかります。root用のコマンドは大体ですが/sbinと/usr/sbinにあるので、この2つへのパスを通しておけば、sudoするときに上のようなエラーがでることが少なくなるはず。
sudo可能な一般ユーザ(仮にユーザ名:hogehoge)としておきます。
printenvで一般ユーザの環境変数を表示し、grepでPATHを抽出。/sbinへのPATHは当然とおってない
$printenv |grep PATH PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/hogehoge/bin
ホームディレクトリの.bashrcの末尾に/sbin:/usr/sbinへのPATHを追加。.bashrcはユーザごとに存在し、ログイン時に実行されるファイル。
$vi .bashrc ファイルの末尾に($PATH=$PATH:/sbin:/usr/sbin)を追加
追加しただけでは変更が反映されないので、sourceコマンドで変更を反映する。
$source .bashrc
確認。PATHの最後に/sbin:/usr/sbinがあればOK
$printenv |grep PATH PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/hogehoge/bin:/sbin:/usr/sbin
パスを通しておけば$sudo lokkit とやってもすぐに実行されてちょこっと便利です。