問題は、「aaa」というIDでログインすると、「aaa」というIDはファイル名だけが読み取れ、内容は読み取れないことです。したがって、コンテンツを読み取るには、次のようにファイルの内容を読み取る権限を持つ別のユーザー「bbb」に切り替える必要があります。
pbrun /bin/su - bbb
上記の手作業を自動化するために、作業ファイルが公開されていることを毎日確認するスクリプトを作成しました。私のID 'aaa'で実行されているスクリプトで上記のコマンドをどのように使用できますか?
#!/bin/ksh
fname = /home/job/file1.log
#this is the path where file1.log will be posted everyday
var =$(grep 'job finished successfully ' $fname )
# my id 'aaa' is not having privilege to read file contents only
# id 'bbb' is having the privilege so when i execute the script with
# my id the above line wont work .
if [ -e "$fname"] && [! -z "var"]
echo " $fname has posted successfully " >>wa.txt
mail -s "File ALERT" [email protected] <wa.txt
else
echo " $fname has not posted " >>wa.txt
mail -s "File ALERT" [email protected] <wa.txt
fi
rm wa.txt 2>ni.txt
次のオプションを試しましたが、機能しません。
#!/bin/ksh
pbrun /bin/su - bbb
残りのスクリプトは...