2009-05-27
rubyインストールしてあるのにsudoすると「/usr/bin/env: ruby: そのようなファイルやディレクトリはありません」と言われる
とある、gemをインストールしようとしたところ以下のようになります。
$ sudo gem install my_gem-0.0.1.gem /usr/bin/env: ruby: そのようなファイルやディレクトリはありません
my_gem-0.0.1.gem は自作した gem でありファイルは存在します。
一般ユーザで「/usr/bin/env ruby -v」 はいける
$ /usr/bin/env ruby -v ruby 1.8.6 (2009-03-31 patchlevel 368) [i686-linux]
rootユーザでも「/usr/bin/env ruby -v」 はいける
# /usr/bin/env ruby -v ruby 1.8.6 (2009-03-31 patchlevel 368) [i686-linux]
なんと、一般ユーザの sudo だと駄目なのことが判明
$ sudo /usr/bin/env ruby -v
/usr/bin/env: ruby: そのようなファイルやディレクトリはありません
ちなみに、rubyのインストール場所は以下
$ which ruby
/usr/local/bin/ruby
/etc/sudoers には以下のように書いてある。
%wheel ALL=(ALL) ALL
つまり、wheelグループに所属しているユーザのコマンドはすべて使えるはずである。今回 sudo を実行したいユーザ hoge はちゃんとwheelグループにいる。
$ cat /etc/group | grep hoge wheel:x:10:root,hoge hoge:x:500:
sudoはセキュリティ上PATHを引き継がないらしい・・・
ということがわかったので、一般ユーザ hoge の ~/.bashrc に以下の行を追加します。
export PATH=/usr/local/bin:$PATH alias sudo="sudo env PATH=$PATH"
再読み込み
$ source .bashrc
実行してみる
$ sudo /usr/bin/env ruby -v ruby 1.8.6 (2009-03-31 patchlevel 368) [i686-linux]
できました・・・。でも、CentOS 5.1や5.2を利用しているときは、そんなことなかったのになぁ・・・。CentOS5.3になってから急にできなくなった・・・。なぜだ・・・。
pacoのインストールでpaco自身をインストール( sudo make logme )するときにエラーになったのも同じ原因でした。
参考
環境
$ cat /etc/redhat-release CentOS release 5.3 (Final) $ ruby -v ruby 1.8.6 (2009-03-31 patchlevel 368) [i686-linux
追記
上記のままだと以下の問題が起こります。
$ sudo -u mysql ls env: -u: そのようなファイルやディレクトリはありません
-u を認識しなくて、userを変更してコマンドが実行できません。
そのような時は、 ~/.bashrc の記述を以下のようにしてください。
export PATH=/usr/local/bin:$PATH alias sudo="sudo PATH=$PATH"
env をなくしています。これで、userを変更して実行できます。
$ sudo -u mysql ls ls: .: 許可がありません
トラックバック - http://d.hatena.ne.jp/japanrock_pg/20090527/1243426081
リンク元
- 87 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&hs=D8B&q=postgres copy&btnG=検索&lr=lang_ja
- 57 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4ADBR_ja___JP327&q=mysql+外部キー+設定
- 22 http://www.google.co.jp/search?hl=ja&lr=lang_ja&client=firefox-a&rls=org.mozilla:ja:official&ei=0dEcSvGaONOAkQXz4E0&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=ruby+print&spell=1
- 19 http://www.google.co.jp/search?hl=ja&safe=off&client=firefox-a&rls=org.mozilla:ja:official&hs=wPE&num=100&q=rails+radio_button checked&btnG=検索&lr=lang_ja
- 16 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=JMeter+Response+Time&num=50
- 13 http://www.google.co.jp/search?hl=ja&q=既定のブラウザ&btnG=Google+検索&lr=&aq=f&oq=
- 13 http://www.google.co.jp/search?q=既定のブラウザ&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 12 http://okyuu.com/ja/tips/1299
- 10 http://www.google.co.jp/search?client=firefox-a&rls=org.mozilla:ja-JP-mac:official&channel=s&hl=ja&q=rails+select_box+2つ&lr=&btnG=Google+検索
- 9 http://blog.livedoor.jp/hiroki0907/archives/51122530.html


