スクリプトを実行する前に、ルートのみがスクリプトを編集できることを確認してください。

スクリプトを実行する前に、ルートのみがスクリプトを編集できることを確認してください。

ルートとして実行する必要があるスクリプトがあります。また、ソース読み取りを使用する構成ファイルもあります。

source conf.sh

conf.sh一般ユーザーが編集できず、rootアクセス権を取得できないことを確認したいと思います。

ファイルの所有者が誰であるか、グループや他のユーザーがどの権限を持っているかを確認できます。

if [[ "$(stat -c "%a" conf.sh | egrep ".2.|.3.|.6.|.7.|..2|..3|..6|..7")" != "" ]] || [[ "$(stat -c "%u" conf.sh)" != "0" ]]; then
    #don't execute the file"
fi

ここで何か抜けましたか?ベストプラクティスはありますか?

ベストアンサー1

算術評価を使用してこれを行います。

if [[ $(stat -c '%u' conf.sh) -ne 0 -o \
      $(( $(stat -c '%a' conf.sh) & 0044)) -ne 0 ]]; then
    # file's owner is not root or file is writable by group or world
fi

おすすめ記事