管理者権限で一部のタスクを実行するには、rootユーザーとしてシェルスクリプトを実行する必要がある場合があります。 通常、そのタスクはSudoコマンドを使用して実行できます。 それでもユーザーにrootユーザーとしてスクリプトを実行させる必要がある場合は、スクリプトにコードを追加して、スクリプトがrootユーザーで実行されているかどうかを確認できます。
rootユーザーとして実行されているシェルスクリプトかどうかを確認します
シェルスクリプトの先頭に次のコードを追加して、スクリプトがrootユーザーとして実行されているかどうかを確認します。 スクリプトがroot以外のアカウントとして実行されると、ステータスコード1で終了します。
#!/ usr / bin / env bash if [ “$EUID” -ne 0 ];次に、echo”このスクリプトをrootユーザーとして実行してください”exit 1 fi
#!/ usr / bin / env bash もしも [ “$EUID” –ne 0 ];それから エコー 「このスクリプトをrootユーザーとして実行してください」 出口 1 fi |
ここに EUID 現在ログインしているユーザーのユーザーID(UID)を格納したシステム変数です。 「root」ユーザーのUIDは常に 0
Linuxシステムで。
UIDを使用する代わりに、ログインしたユーザー名を照合することもできます。 The whoami
コマンドは、現在ログに記録されているユーザー名を提供します。 以下のスクリプトは、スクリプトがrootユーザーとして実行されているかどうかを確認します。
#!/ usr / bin / env bash if [ `whoami` != ‘root’ ];次に、echo”このスクリプトをrootユーザーとして実行してください”exit 1 fi
#!/ usr / bin / env bash もしも [ `whoami` != ‘root’ ];それから エコー 「このスクリプトをrootユーザーとして実行してください」 出口 1 fi |
root以外のユーザーとして実行されているシェルスクリプトがあるかどうかを確認します
スクリプトをroot以外のアカウントとして実行する必要がある場合があります。 その場合、次のスニペットを追加してユーザーアカウントを確認し、スクリプトが通常のユーザーとして実行されている場合にのみ続行できます。
#!/ usr / bin / env bash if [ “$EUID” -eq 0 ];次に、echo”このスクリプトをroot以外のユーザーとして実行してください”exit 1 fi
#!/ usr / bin / env bash もしも [ “$EUID” –eq 0 ];それから エコー 「このスクリプトをroot以外のユーザーとして実行してください」 出口 1 fi |
結論
このクイックハウツーガイドでは、rootユーザーまたは非rootユーザーとして実行するシェルスクリプトに制限を追加する方法について学習しました。 別のユーザーを実行している場合、スクリプトはすぐに終了します。
The post Linuxでrootユーザーとしてスクリプトが実行されているかどうかを確認します– TecAdmin appeared first on Gamingsym Japan.