プロが教えるわが家の防犯対策術!

rootのcrontabでhoge.commandを起動します。crontabに登録は以下に登録しました。

0 0 * * * /usr/bin/open /xxxxxx/xxxx/xxx/hoge.command

この時、hoge.commandをrooot権限で実行したいのですが、現状root権限で実行できてません。

どうしたらよいでしょうか?

以上、よろしくご指導の程、お願い申し上げます。

A 回答 (2件)

つまり、「cron経由でコマンドをroot権限で実行し、その結果をターミナル上で表示させたい」ということでしょうか。



どうやらroot権限でターミナルを実行してもシェルはrootにならないらしく、一旦suで管理者になる必要があるようです。

と、いうことで、まず

sudo su root -c "/xxxxxx/xxxx/xxx/hoge.command"


を実行するシェルスクリプト/yyyy/yyy/hoge.shを作っておいて、crontabで

open -a /Applications/Utilities/Terminal.app /yyyy/yyy/hoge.sh

を実行するようにする、というのはどうでしょうか。
    • good
    • 0
この回答へのお礼

お礼、遅くなり失礼いたしました。ご回答ありがとうございました。

お礼日時:2013/12/18 14:59

(場合によってはシェルファイルをつくって)


sudoなどで明示的に実行してみては?

この回答への補足

ご回答有り難うございます。

crontabから起動するhoge.command(実態はシェルなんです)をターミナルを開いて実行させたいので
/usr/bin/open /xxxxxx/xxxx/xxx/hoge.command
ってやりたいのですが、/usr/bin/open で新しくターミナルを開いた時点でrootでなくなってしまうのです。
sudo /usr/bin/open /xxxxxx/xxxx/xxx/hoge.command としても同じです。

ちょっと回答頂いた内容から、何も得る物がないのですが。。。。

補足日時:2013/09/05 22:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!