以下の内容はhttps://iww.hateblo.jp/entry/20240227/rootより取得しました。


bashで、rootじゃなければエラーにする

シェル変数UIDを使う

シェル変数UIDには実ユーザIDが入っている
0ならroot

#!/bin/bash

if [ "$UID" != "0" ]; then
  echo "root以外では実行できません"
  exit 1
fi



シェル変数EUIDを使う

シェル変数EUIDには実効ユーザIDが入っている
0ならroot

本来ならこちらを使うのが正しいと思われる。
setuidされたプログラムが実行されるときは UIDが一般ユーザで EUIDがroot 、みたいなことになる。
ただ、スクリプト上で食い違いを引き起こす方法が思いつかない

idコマンドを使う

UIDはbashのように賢いシェルでしか使えないので、アホで無能なdashなどを使っているときは
idコマンドでユーザIDを取得する

if [ "$(id -u)" != "0" ]; then
  echo "root以外では実行できません"
  exit 1
fi



以上の内容はhttps://iww.hateblo.jp/entry/20240227/rootより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14