<<  2008.11 >>
SMTWTFS
      1
2345678
9101112131415
16171819202122
23242526272829
30      
 
リンク
その他
  • RSS2.0
  • Credit

  • SEO
    loading

    プライバシーポリシー

カテゴリー » Linux » Fedora November 17, 2008

sudo: hoge.sh: command not found Fedora

Fedora9 の sudo が少し前にバージョンアップしてからというもの、特定のコマンドが実行できなくなってしまった。
$ sudo hoge.sh
sudo: hoge.sh: command not found
こんな風に見つからないと表示される。エラーが出るのは自分で追加した $PATH に置いてある物だけ。PATHが引き継がれない? よくわからんので変更履歴を見てみる。
$ rpm -q --changelog sudo
* 水 5月 14 2008 Peter Vrabec <pvrabec@redhat.com> 1.6.9p13-5
- compiled with secure path (#80215)
これが怪しい。さらにソース(sudo-1.6.9p13-7.fc9.src.rpm)を持ってきてSPECファイルを読む
%configure --with-secure-path="/sbin:/bin:/usr/sbin:/usr/bin"
なるほど、勝手に変なコマンドを動かさないようにするためパスを固定しちゃってるのね。自分で作ったスクリプトなんかを $HOME/bin/ に放り込んで使ってるんだけど、これだといちいち絶対パスで入力しないといけない。面倒だコンチクショウ。あ、でも逆に sbin にあるのはコマンド名だけで動くようになったのか。うーむ…

ちなみにUbuntuは以前からこれと同じ設定だったようだ
11:56 pm | コメントする |

上の記事に対するコメント

1. Rocco (Website)  2008/11/18 00:44
sudo で動かす自作コマンドは大体絶対パスだったので、気がつきませんでした。
参考になります。

2. code_air_edge (Website)  2008/11/18 06:22
Fedoraのsudoでもsbinを書かなくてよくなったんですね。毎度書いていたのでそれで慣れてしまっていましたw
う〜ん、自分で切ったパスは認めてくれないかぁ、けどセキュリティ的にはそれも仕方ないのかもしれませんね^^;

3. ムッツリーニ  2008/11/18 09:52
alias sudo="sudo env PATH=$PATH"で今までどおり(ぉ

4. ピンチ  2008/11/19 01:46
PHPからsudoしている場合はどうすれば?


累計:18017、今日:243、昨日:466
Created in 0.0077 sec.