htpasswd -c/--- で -bash:---: command not foundと表示される理由

このQ&Aのポイント
  • htpasswd -c/--- コマンドが実行できない現象が発生しています。
  • 日経Linux 2005-12月号付録のSUSE Linux 10.0で、Apacheを使用してインターネットWebサーバを構築しました。
  • 初心者ですが、Sambaを使用してWindowsからファイルをSUSE Linuxコンピュータに移動し、いくつかの問題を解決しました。しかし、htpasswd -c/--- コマンドに進展がありません。
回答を見る
  • ベストアンサー

htpasswd -c/--- で -bash:---: command not found

htpasswd -c/---と打ち込むと、-bash:---: command not found と表示されます。----- Basic認証を試みています。日経Linux 2005-12月号付録の SUSE Linux 10.0で、そして、その中にあったApache で、また、Windowsで作ったファイルを Samba でSUSE Linux コンピュータに移動して、というやり方で、イ ン ト ラ ネ ッ ト Webサーバを作りました。初心者で、全くわかりませんが、いろいろやっているうちに、なんとかなりました。しかし、htpasswd -c/ --- がうまくいかず、難渋しております。よろしく、お願いいたします。

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

  • ベストアンサー
回答No.2

自己訂正 >おそらくはhttpd.confのServerRoot 行に書いてあるパスの下にあると思いますので 自分でApache2.2をコンパイルしたときにそうなっただけでした。 最初から素直に find /usr -name "htpasswd" で探せばOKでした。(ちと時間食うけど) どうしても見つからなければ http://www.rescue.ne.jp/cgi/htpasswd/ でhtpasswd.tar.gz 貰ってきてインストールするか、、

ttaa100kkaa
質問者

お礼

ありがとうございました。

その他の回答 (2)

回答No.3

http://www.rescue.ne.jp/cgi/htpasswd/ の説明どおりにやれば出来る筈ですけどねえ コマンドラインで 解凍したディレクトリに移り $ ls -l して fileが有ることを確認します  解凍して出来たhtpasswdはたぶん使えません $ make <=と打つと警告が出ますが、新しいhtpasswdが作られたはずです $ ls -l して htpasswdの日付を確認してください 次に $ chmod 755 htpasswd $ ./htpasswd これで Usage:、、、、の文章が出れば成功です $ ./htpasswd -c /home/tarou/.htpasswd test   (ユーザーtarouのディレクトリに .htpasswd と言うfileをつくり test と言うユーザーを登録する) パスワードを2回要求されるので入れるとOKです 但し、このままだとプログラムhtpasswdはパスの切られていないディレクトリに有りますので 毎回 /home/tarou/bin/htpasswd などのようにパスを指定して呼び出す必要があります 面倒くさければ /usr/bin/ に htpasswd をコピーしちゃいましょう そうすれば単に htpasswd とパス無しで呼び出せます 尚、このhtpasswdはかなり古い物です 最新のapacheを自分でコンパイルすれば最新のhtpasswdも入手できますが、 もうちょっと勉強しないと難しいかもしれませんね

ttaa100kkaa
質問者

お礼

umasikajiro 様 ご親切なご回答、まことにありがとうございました。お教えのとおりに挑戦してみます。

ttaa100kkaa
質問者

補足

umasikajiro様 ありがとうございました。しかし、だめでした。 /etc/apache2/bin の中に、.htpasswd ができました。cat .htpasswd で 期待どおりのものが出てきました。その後、 .htaccess を作りました。 .htaccess は どこに置けばよいのでしょうか? /srv/www/htdocs に web のファイルがあります。http://www.rescue.ne.jp/cgi/htpasswd にあるようにやってみたのですが、何度挑戦しても、認証をかけたいディレクトリのファイルが今までどおり登場します。etc/apache2 にある httpd.conf を書き換える必要があるという説明が、どこかにありましたので、やってみましたが、認証ダイアログボクスはでませんでした。残念です。ありがとうございました。

回答No.1

何にもパラメーターを付けず単に htpasswd と打ってみてください パスが通っていれば  Usage:  以下使い方の説明(英文)  が出てくるはずです。 command not foundが表示されるならパスが通っていませんので /usr/local/pache2/bin/htpasswd -c ./.htpasswd tarou のようにフルパスで指定しないと駄目ですが、そのパスが判らないと思いますけど、まずはコマンドラインから whereis htpasswd と打ってhtpasswdのパスが出るか試します。これでも出なければ おそらくはhttpd.confのServerRoot 行に書いてあるパスの下にあると思いますので 例えば ServerRoot "/usr/local/apache2" と記述してあれば su でrootになってから cd /usr/local/apache2  <=apacheのディレクトリに移動する find -name "htpasswd" <=と打ってhtpasswdを探す これで 例えば ./bin/htpasswd と出てきたら 現在のカレントディレクトリ+./bin/htpasswd ですから、この例だと /usr/local/apache2/bin/htpasswd がフルパスだと判ります ##もっとスマートな方法知っている方、いましたらオイラにも 教えて!goo

ttaa100kkaa
質問者

お礼

umasikajiro様、ありがとうございました。私のSUSE Linux には htpasswd が ありませんでした。 それで、http://www.rescue.ne.jp/cgi/htpasswd/ でhtpasswd.tar.gz 貰ってきてインストール  しょうとしましたが、私にはできませんでした。 解凍して、Makefile と htpasswd.c と htpasswd になったのですが、それからはなんともなりません。やはり htpasswd -c --- で - bash command not found --- インストールの仕方を、お教えいただけると、幸甚のいたりです。よろしくお願いいたします。

関連するQ&A

  • 「bash:ipconfig:command not found」と表示される

    Linux初心者です。 rootユーザーでコマンドipconfigと入力すると 「bash:ipconfig:command not found」と表示されます。 どなたか解決方法教えてください。

  • apachectl start command not foundが発生

    Linux初心者です。 質問の内容は以下の環境と手順でApacheをインストール後、 Apache起動時に「command not found」とエラーが発生してしまいます。 環境 ・CentOS3.9 ・Apache2.0.47 手順 1.「wget」コマンドでApache2.0.47をダウンロード 2.ダウンロードしたApahce2.0.47を解答 3.「cd {解凍したディレクトリ}」コマンドの実行 4.「./configure」コマンドの実行 5.「make」コマンドの実行 6.「make install」コマンドの実行 7.Apacheを起動するために「/usr/local/apache2/bin/apachectl start」コマンドを実行 手順7でコマンドを実行すると 「-bash: apachectl: command not found」 とエラーが発生します。 初歩的な質問ですが、ご教示ください。

  • シグインで、bash: gcc; command not foundと表示されてしまいます。

    申し訳ありませんが、パソコンに詳しい方、どなたかフォローしてください。 シグイン、メドウをネットからダウンロードして、yasu.cというプログラミング?(適切な用語がわかりません)をメドウで作成して シグインにて、 gcc -o a yasu.c と入力したのですが、 bash: gcc; command not found と表示されてしまいます。 学校のパソコンではいつもこのやり方でコンパイルしています。どこに異常があるか心当たりのある方がいましたら、ご教授願います。

  • .htaccess と .htpasswd と etc/apache2 にある httpd.conf

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=2160824 で質問していた者です。少し進展しましたが、もう一度ここでお願いいたします。SUSE Linux の Apache2 で ユーザー認証=Basic認証を、イントラネットで試みています。外へ、ではなく、中だけのWebサーバです。htpasswdをインストールして、.htpasswdができました。そのあと、.htaccess を作ったのですが、いろいろな場所においても、認証ボックスが出てきません。httpd.conf の <Directory "/--/--/">---</Directory>をいじってみたのですが、これは、httpdが動き出しませんでした。よろしくお願いいたします。

  • Debian Linuxでzip: command not found

    Debian Linuxでzip: command not foundエラー。 LinuxコマンドでZIPファイルを作ろうとすると、 エラーが発生してしまいます。 zipコマンドをインストールしたいのですが、 インストールコマンド(rpm? apt-get?)がわからず、 インストール用ファイルもWebから見つけられませんでした。 OSはDebian GNU/Linux(Debian 5.0 lenny)です。 WindowsVistaにダウンロードしてきた時に特別な方法を使わず解凍できれば、 ZIP形式にはこだわりません。 zipコマンドを使える方法について詳しい方がいましたら、 教えていただけますでしょうか。 -------------------------------------- # zip test_201010.zip *.gz -bash: zip: command not found # whereis zip zip: # apt-cache zip E: Invalid operation zip # echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --------------------------------------

  • htpasswd でのユーザ認証?

    Apache2.0 を Windows 2000 にセットアップしました。 下記のように、.htpasswd を使って、自分のディレクトリにパスワード認証をかけました。 しかし、何度やっても。  401 Authorization Required というエラーが出ます。 ログ(logs/error.log)を見ると「PASSWORD MISMATCH」と書かれています。 けど、何度確かめてもパスワードは間違っていません。どうすればよいでしょうか? 私がやったことは、以下のとおりです。 (1) http.conf を編集して、    AuthType Basic    AuthName "lab"    AuthUserFile "c:/Programs/apache/conf/.htpasswd"    Require valid-user を書く。 (2) htpasswd -c .htpasswd username として作った .htpasswd を /conf/ に置く。 このあと、Internet Explorer で該当アドレスを開くと、パスワードを聞くダイアログが出ます。 そこで username と パスワードを正しく入力するのですが、エラーが出ます。 どうすればよいでしょうか? なお、参考にしたサイトは以下のところです。 - http://acorn.zive.net/~oyaji/www/apache_win_ssl.htm - http://acorn.zive.net/~oyaji/www/apache_win_dav.htm

  • htpasswdは前方一致ですか?

    未だにSunOS 5.6を使っているのでが・・・ そこで不思議な現象を発見したので教えて下さい。  ApacheのBasic認証のパスワードの生成に Linux xxx 2.4.18-23の htpasswd -b を使用して、rcp で SunOS 5.6 に転送しています。 通常の認証は問題なく動作していますが、パスワードに正しい値の後ろに任意の文字を追加したパスワードを入力しても認証されてします。  例  正しいPasswd: 1234  間違って認証されるPasswd: 12345  *4の後ろに5が追加されている  Passwdが前方一致されているように感じるのですが、これは正しい動作なのでしょうか?

  • bash.exeを直接起動するとgccが実行できま

    C言語を始めてみようと思ってcygwinをインストールしました。初心者です。 Cygwin.batから起動するとキチンとgccコマンドが使えるのに、bash.exeから直接起動すると、なぜかcommand not foundとなってしまいます。emacsからコンパイルできるようにしたいと思っているので、不都合で困っています。どうすればよいのでしょうか。

  • Samba設定について

    初心者です。 http://www.aconus.com/~oyaji/samba/samba.htm 上記のページにて「Samba+Swatのインストール」はできたのですが、「Samba+Swatの起動設定」の # chkconfig smb on と打つと bash:chkconfig:command not found がでてきます。アドバイスのほどお願いします。

  • ftpがbashで認識しない?(xinetd)

    ftpがbashで認識しない?(xinetd) Linux:debian lennyをインストールし、自宅サーバを作ろうとしている初心者です。 こまっているのは、#ftp とキーを入力しても # ftp -bash: ftp: command not found # となり、bashがftpを認識してくれません。 動作は、xinetdで動くように設定してあります。 ftpはPROFTPDです。 psコマンドで確認したら 735 ? Ss 0:00 /usr/sbin/xinetd -pidfile /var/run/xinetd.pid -stayalive -inetd と表示され、xinetdは起動しています。 どうすれば、ftpが認識されるようになるのでしょうか。 ご存知の方 お教えねがいます。