• ベストアンサー

NET::SFTP::FOREIGN

PerlでNet::SFTP::Foreignを使いたいのですが、モジュールのインストールのしかたを教えて下さい。 サーバはMacintosh 10.14.4のOS X SERVERです。 先日、このように質問させていただいたのですが、誤りがありました。 OS X SERVERではなく、Apache2でした。

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

  • ベストアンサー
  • _kappe_
  • ベストアンサー率68% (1523/2217)
回答No.2

回答No.1の者です。 > ウェブ上に転がってるperlの解説を見てコードを書いても、ブラウザでリスト表示とかできません。 > Net::SFTP::Foreign入れたのは、perlをブラウザで開いて、ファイルマネージャー的なことをしたかったからです。 どういう構成でそれを実現しようとしているのか、よく分かりません。 コンピュータ(1)の中にあるファイルのリストをコンピュータ(2)のブラウザから見たいと仮定して、疑問に思うことがいくつもあります。 ・Net::SFTP::Foreignを使うperlのコードを実行するのはコンピュータ(1)なのか(2)なのか ・「perlをブラウザで開いて」は具体的にどういう操作なのか(Perlで書いたCGIを動かすという意味だとしたら普通は「Perlをブラウザで開く」と言わない) ・SFTPを使ってどこからどこへファイルを転送するのか、あるいはファイルの転送はしないでファイル名のリストだけを取得するのか ・SFTPのサーバはコンピュータ(1)または(2)で動いているのか もしコンピュータ(1)でApacheが動いているならば、SFTPなどを使わずともApacheでディレクトリリスティングを有効にすることでディレクトリ内のファイル一覧をコンピュータ(2)のウェブブラウザから見ることは可能です。それでは不足なのでしょうか。 いろいろ書きましたが、Net::SFTP::Foreignのインストールはできたということなので、ファイルマネージャーの実現方法については改めて別の質問を立てて聞いたほうがいいでしょう。

humu01jp
質問者

お礼

とりあえず、回答ありがとうございました。 ファイルマネージャーの件は別で質問立てます。

humu01jp
質問者

補足

えっとですね……当方のサイトで無料レンタルサーバーをやってまして、それで、最初はperlでopenでファイルを開いて編集ができるようにしようとスクリプトを作ったんですけれども、どう言うわけか、所有権の関係で編集ができないので、仕方ないのでperlスクリプトを書き、ウェブブラウザ上で編集できないか考えたのですが、ソースコードが分からずに詰まってるわけです。 以上、よろしくお願いします。

その他の回答 (1)

  • _kappe_
  • ベストアンサー率68% (1523/2217)
回答No.1

CPANのミラーサイトから該当するアーカイブファイルをダウンロードしてください。 例: http://ftp.riken.jp/lang/CPAN/modules/by-module/Net/Net-SFTP-Foreign-1.90.tar.gz あとはそれを展開して、中に入っているREADMEファイルのINSTALLATIONの項に従ってください。もし失敗するようなら、READMEファイルのPREREQUISITESの項に書かれているものが不足していることが原因の可能性があります。

humu01jp
質問者

補足

成功しました! しかし、ウェブ上に転がってるperlの解説を見てコードを書いても、ブラウザでリスト表示とかできません。 そもそも、Net::SFTP::Foreign入れたのは、perlをブラウザで開いて、ファイルマネージャー的なことをしたかったからです。 解説サイト、探したんですが、でてきませんでした(埋もれてるだけの可能性も無きにしも非ずですが)。

関連するQ&A

  • NET::SFTP::FOREIGN

    perlモジュールのnet::sftp::foreignについてですが、$sftp->chmodと打っても、サーバ上のファイルのパーミッションを変えることができません。 $sftp->にchmodのコマンドは使えないのですか? また、パーミッションを変えるコマンドが他にある場合、それも教えて下さい。

  • NET::SFTP::FOREIGNについて

    NET……FOREIGNを使って、ファイルのパーミッション(アクセス権)を変えようと試みましたが、変えられませんでした。 いや、変更は可能なのですが、意図したパーミッションになりません。 例えば、0755とすると、0363となります。 Perlのフォームデータから755と送られてきたときに正常に変更させるにはどうしたらいいですか? ちなみに、直接数値でなら正常に変更できます。 簡略しますが…… <input type="text" name="chmod" value="任意の数値"> このデータを受け渡し…… sftp->chmod("ファイル名", $FORM{'chmod'}); とすると、例えば任意の数値が0755だと、0363となり、うまく変更できません。 なにが原因かわかる方いらっしゃいますかね?

    • ベストアンサー
    • Perl
  • sftpって何ですか?

    Sftpとはそもそも何なのか?混乱してきてしまいました。 かなり初歩的な質問になってしまうのですが・・・どなかた教えてください。 よろしくお願い致します。 ○Redhat ASサーバにvsftpdをインストールしました。 ○Windows クライアントにTeraterm(UTF8対応)をインストールしました。 ○WinodwsクライアントからRedhatASサーバにTelnetで接続する際、  TeratermでtelnetではなくSSHを選択して接続可能な状態です。 上記状態でsftpが使用できると言えるのでしょうか? Telnetでsshが使用出来ているということは、vsftpdの設定を行えば 自動的にvsftp+sshの状態になっている(=sftp)といえるのでしょうか? またはsftpdというアプリケーションがあるのでしょうか? ただRedhas ASサーバには以下ファイルが存在しています。 そもそもvsftpdをインストールしなくてもstpdが使用出来たのでしょうか? /usr/sbin/vsftpd /usr/bin/sftp 何卒よろしくお願い致します。

  • SFTPでファイルのアップロード時に所有者を強制

    サーバOS CentOS5.5 クライアント Windows7 WinSCP この環境でSFTPを利用し、ファイルのアップロードをしています。 アップロードされたファイルの所有者をapache:apacheにサーバ側で強制したいのですが方法はありますでしょうか。 よろしくお願いします。

  • perl

    net::sftp::foreignでperl上からperlスクリプトを新規作成したり編集すると、500エラーになりますが、なにが原因なんでしょうか?

    • ベストアンサー
    • Perl
  • ファイルマネージャーのソースコード

    お世話になります。 先日、Perlモジュールである、Net::SFTP::ForeignをMacのmojaveにぶち込みました。 それで、レンタルサーバサービスにあるようなファイルマネージャーをPerlで作って、ウェブブラウザ上でユーザーのローカルにあるデータを当方のサーバとで送受信をしたいのですが、ソースコードがわかりません。 最初はopenによるファイル操作でファイルを編集するスクリプトを書きましたが、所有権やアクセス権の問題で、ファイルを編集できないことに気づき、仕方ないのでsshでやり取りしたいのですが、書き方が分からず詰まっております。 目的のソースコードを書ける方、もしくは解説サイトかなにかをご存知の方、いらっしゃったらご教示願います。

  • Macについて質問です。

    「/Users/ユーザー名/Sites」内のファイルを別のユーザー名からPerlのopenを使って、ファイルマネージャーのようにファイルを編集できるようにしたいのですが、不可能なのでしょうか? なぜこれをやりたいのかと言うと、当方のサーバーでレンタルサーバーをやってるからです。 所有権とかアクセス権などで、openで無理なら、net2ftpみたいなのでSFTPサーバーに繋いで、データのやり取りをしようと思ったのですが、可能ですか? Hight sierra以前でFTPが使える時は、net2ftpで編集できてたので、SFTP接続ならできるのかな、と思っています。 そこで、当方は、Net::SFTP::Foreignを入れて、PerlからSFTP接続をできるようにしたのですが、肝心のソースコードがわからなくて困っています。 どこか、解説サイトとかご存知の方はいらっしゃいますか? それか、ソースコードを書けるって方でもいいです。 一応、当方でもググったのですが、これといったものがでてきませんでした。 よろしくお願いします。

  • sftpのディレクトリ制限について

    sftpのディレクトリ制限についてので質問です。 友人とのファイルのやり取りにSFTPを考えています。 そこで、ChrootDirectoryを使用してディレクトリ制限をかけたいと思っているのですが、 Webサイトなどを参考に設定してみましたが、うまく出来ません。 /etc/ssh/ssd_config ~略~ Subsystem sftp internal-sftp Match group sftponly ForceCommand internal-sftp ChrootDirectory /chroot/ X11Forwarding no AllowTcpForwarding no と設定し、 /etc/group sftponly:x:300: /etc/passwd user:x:300:300::/:/sbin/nologin とユーザーグループを作成し。 ls -l / drwxr-x---. 3 root sftponly 4096 1月 9 07:51 2013 chroot ls -l /chroot drwxrwxrwx. 2 user sftponly 4096 1月 9 07:51 2013 share を作成しました。 以上の設定をしていざsftpで接続してみると、 # sftp user@localhost Connecting to localhost... user@localhost's password: sftp> pwd Remote working directory: / sftp> ls Couldn't get handle: Permission denied sftp> cd share sftp> pwd Remote working directory: /share sftp> put a Uploading a to /share/a Couldn't get handle: Permission denied sftp> と上記の様にcdでのディレクトリ移動などはできますがファイルの一覧取得は権限がなくできませんでした。 ディレクトリ制限をしたユーザでsftpでファイルのやり取りをするためにはあとどのような設定が必要でしょうか? よろしくお願いします。 環境 OS:CentOS 6.3 openssh-5.3p1-81.el6_3.x86_64

  • SFTPの鍵が自動で更新されることについて

    ※ サーバー管理のことはほとんど分かっていません。 ※ 質問の仕方自体があやふやだと思いますが、よろしくお願いいたします。 ホスティング業者でサーバを借り、rootアカウントで初めて sftp (ssh)接続をする際ですが、サーバ側の鍵をsftpソフトが受け入れます(ユーザに確認を求めますが)。結局 rootのアカウント名とパスワードだけで接続できてしまいます。 (1) この「鍵」の意義はなんでしょうか?あってもなくてもアカウントとパスだけで接続できてしまいますし・・・。 つぎに、この状態でしばらく sftpを利用していたのですが、ある日突然「このサーバの鍵は、以前認証した鍵と異なります。鍵の変更があったかサーバ管理者にお問い合わせください」とのようなメッセージが出ました。実際サーバ管理者に問い合わせることもできますが、彼自身よく分かっていないのか、あやふやです。 (2) そこでお聞きしたいのは、鍵が定期的に自動で刷新されることはあるのだろうか?ということです。もしあるなら参考URLや、検索キーワードを教えていただけると助かります。rootアカウントを閉じて別アカウントで公開鍵と秘密鍵を作った場合は、自動的な更新はないとのことです。これは素人の私でも「そりゃ接続できなくなってしまうし当然かな」とは思いますが、rootの場合はどうでしょう。 問題が頻発しサーバ管理者の話を信用しかねていたところ、sftpソフトが改ざんの可能性にも言及しており、少々焦っております。rootを早く閉じればよいのですが、こちらもゴタついていまして・・・。以上2点よろしくお願いいたします。

  • Perlのモジュールをインストール後、Apacheの再起動は必要かどうか

    ブラウザに出力させるPerlのプログラム(cgi)を書いています。 Perlのモジュールが足りないため、 cpanでインストールをしました。 特に、Apacheを再起動させないで、 ブラウザにメッセージが出力されました。 通常、ApacheでPerlを使う場合、足りないモジュールを インストールした後はApacheの再起動をするべきなのでしょうか? 再起動する・しないの理由が知りたいです。

    • ベストアンサー
    • Perl