- ベストアンサー
Mac OSX openコマンドでroot権限
rootのcrontabでhoge.commandを起動します。crontabに登録は以下に登録しました。 0 0 * * * /usr/bin/open /xxxxxx/xxxx/xxx/hoge.command この時、hoge.commandをrooot権限で実行したいのですが、現状root権限で実行できてません。 どうしたらよいでしょうか? 以上、よろしくご指導の程、お願い申し上げます。
- みんなの回答 (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 を実行するようにする、というのはどうでしょうか。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
(場合によってはシェルファイルをつくって) 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 としても同じです。 ちょっと回答頂いた内容から、何も得る物がないのですが。。。。
お礼
お礼、遅くなり失礼いたしました。ご回答ありがとうございました。