• ベストアンサー

Mac OSX openコマンドでroot権限

rootのcrontabでhoge.commandを起動します。crontabに登録は以下に登録しました。 0 0 * * * /usr/bin/open /xxxxxx/xxxx/xxx/hoge.command この時、hoge.commandをrooot権限で実行したいのですが、現状root権限で実行できてません。 どうしたらよいでしょうか? 以上、よろしくご指導の程、お願い申し上げます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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 を実行するようにする、というのはどうでしょうか。

kingfruits
質問者

お礼

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

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

(場合によってはシェルファイルをつくって) sudoなどで明示的に実行してみては?

kingfruits
質問者

補足

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

関連するQ&A