cronjobの所有者/ユーザーのインポート

cronjobの所有者/ユーザーのインポート

Linux(Mint / Ubuntu)では、ユーザーごとに個別にcronjobを作成できます。 cronjobを実行しているユーザーの名前を見つける方法はありますか? cron'dを実行するシェルスクリプトからcronjob所有者のユーザー名を取得したいと思います。

ベストアンサー1

スクリプト所有者のインポート

stat最新のGNU互換システムでは、statスクリプト所有者のユーザーIDは次のとおりです。

stat -c %u "$0"

スクリプト所有者のユーザー名は次のとおりです。

stat -c %U "$0"

通常、Linuxでは。stat -c %U fileを返しますfile$0これは通常、現在のスクリプトファイルの名前が含まれているためです。

スクリプトを実行しているユーザーの有効なユーザーIDを取得します。

スクリプトを実行しているユーザーの有効なユーザーID番号を取得するには、次のようにしますid -u

$ id -u
1001

変数に保存

$ uid=$(id -u)
$ echo "$uid"
1001

スクリプトが次の環境で実行されると、bash有効なユーザーIDはシェル変数に保存されますEUID

$ echo $EUID
1001

多くのシステムでは、cronjobはデフォルトではdashサポートされていませんEUID。したがって、id -u上記のように使用する方が安全で安定しています。

-n-uユーザー名を取得するには、このオプションを使用することに加えて、次のオプションを使用します。

$ id -un
john1024

おすすめ記事