ユーザーを強制的にルートにする方法

ユーザーを強制的にルートにする方法

私のUbuntuコンピュータで動作するbashスクリプトを書いた。これで、このスクリプトが私のユーザーとして実行されるのを防ぎ、ルートとしてのみ実行したいと思います。

これを強制することは可能ですか?私のユーザー名でスクリプトを実行すると、スクリプトにroot権限を要求させることができますか?

ベストアンサー1

bashこの目的のための標準機能があります。

# Check if we're root and re-execute if we're not.
rootcheck () {
    if [ $(id -u) != "0" ]
    then
        sudo "$0" "$@"  # Modified as suggested below.
        exit $?
    fi
}

おそらくもっとエレガントな方法があるでしょう(私はこの記事をずっと前に書いています!)。しかし、これは私にとってうまくいきます。

スクリプトでこの関数を一貫して使用するには、スクリプトが元々受け取った引数を渡す必要があります。

使用法:(パラメータはrootcheck関数rootcheck "${@}" にのみrootcheck渡されません。)

おすすめ記事