sudoが不要なコマンドとsudoを強制的に使用することはできますか?

sudoが不要なコマンドとsudoを強制的に使用することはできますか?

私は組み込みLinuxディストリビューションを頻繁に使用するため、minicomシステムに接続するための1つまたは複数の端末がある場合があります。無効なコンソールを2回入力し、内蔵rebootデバイスの代わりにホストOSを再起動しました。私が間違っていることを知って、もう少し注意を払わなければなりませんsudoでしたsudorebootコンソールに入力するときにパスワードを入力したいと思います。

ベストアンサー1

コマンドが含まれているディレクトリ/usr/local/binの前にある場合は、必要なすべての種類の確認を求めるスクリプトを作成できます。PATHreboot/usr/local/bin/reboot

たとえば、スクリプトは次のようになります。

#!/bin/sh
echo "Please enter the short hostname of the system you wish to reboot:"
read REBOOTHOST
if [ "$REBOOTHOST" = "$(hostname -s)" ]
then
    # invoke the real reboot command
    exec /sbin/reboot "$@"
else
    echo "Sorry, you're in the wrong system. This is $(hostname -s)."
    echo "Please be more careful!"
fi

パスワードを求める代わりに(今は実際には考えずに背骨の反射を介して行うことができます)、スクリプトは再起動したいシステムのホスト名を要求し、次の場合に操作を拒否します。ホスト名の入力が正しくありません。これにより、意図とコマンドを入力した物理ホスト間のクロスチェックが強制されます。

より厳格な実装のために Debian を調べることをお勧めします。molly-guardパック:これらのテストを簡単に実装できるフレームワークはもちろん、さまざまな状況に合わせて事前に作成された複数のテストを提供します。

おすすめ記事