忍者ブログ

STEP UP BLOG

Home > ブログ > > [PR] Home > ブログ > Linux > 起動スクリプトでのsudoエラーとその解決策

起動スクリプトでのsudoエラーとその解決策

普段はPHPで開発しているのですが、ここ数日はLinuxの起動や終了の流れを調べたり、シェル書いたり、シェル書いたりしてました。
同じIT技術といっても知らないことが多く、頭がこんがらがり中です。
しかし新しいことを覚えると気持ちいいもので、守備範囲が広がると身軽に感じたりします。

今回、OS起動時にしたい処理があり、そのためにいろいろ調べていたのですが、
起動時に実行されるスクリプト(/etc/init.d内のスクリプト)はroot権限で実行されるのですね。
私はそのスクリプト内のある処理を一般ユーザ権限で実行させたかったので、最初は
sudo -u username /hoge/script
と書いていましたが、エラー発生。
調べると、
sudo: sorry, you must have a tty to run sudo
というエラーメッセージが出ていました。
つまりtty(端末)でないところからsudoしているから弾いているというわけです。
解決策を探ったところ、sudoじゃなくてsuでも出来るとのこと。
su - username -c "/hoge/script"
で、めでたく一般ユーザ権限で実行させることに成功しました。
この場合、実行したいコマンドをダブルクオーテーションで囲むことを忘れずに^^
PR

Comment0 Comment

Comment Form

  • お名前name
  • タイトルtitle
  • メールアドレスmail address
  • URLurl
  • コメントcomment
  • パスワードpassword

PAGE TOP