• ベストアンサー

installコマンド

ftpユーザーを作成するのになぜ install -m 111 -o root -g wheel /bin/ls /home/ftp/bin のようにlsコマンドを/home/ftp/binの配下にリンクさせる必要があるのでしょうか? ご存知の方よろしくお願いします。

noname#46712
noname#46712

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

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

ご覧になっている参考書がどのリリースを対象にしているか分かりませんが >FreeBSDの仕様でそうなっているとするとftp接続で使用したいコマンド >はすべてインストールしなければならない?ということなのでしょうか? FreeBSD 4.xあたりからデフォルトで/bin/lsのソースコードをftpdに取り込んでいるようなので、ファイル一覧ぐらいはlsコマンドがなくても表示出来ますね。 どちらにしろ、ftpdから外部コマンドを使用する場合、chrootされる環境ならそれらコマンドはインストールする必要はありますね。 FreeBSD標準のftpdの場合、FreeBSD 4.xの途中?から/etc/ftpchrootにユーザを指定する事によってchrootする事が出来るようになったので、ファイル一覧をするためのlsコマンドの機能が取り込まれたのだと思います。

その他の回答 (1)

  • Lean
  • ベストアンサー率72% (435/603)
回答No.1

質問にそれだけ書かれてもいまいちどういう環境でどういう状況なのか分からないけど。 /home/ftpがftpユーザでアクセスしたときのルートディレクトリ(chrootされる)になるからでは? そうすると、/home/ftpディレクトリ配下しか参照出来ないから、/bin/lsは当然のことながら見えない、つまり/bin/lsコマンドは実行出来ないのでファイル一覧は表示されない事になるので、/home/ftpをルートディレクトリとした見たときに/bin/lsで見える場所である/home/ftp/binにlsコマンドをインストールしているのでは?

noname#46712
質問者

補足

Leanさん、ご返答ありがとうございます。 これは参考書に書かれていたものです。anonymousユーザー接続を可能とするときに使用するようです。 >つまり/bin/lsコマンドは実行出来ない FreeBSDの仕様でそうなっているとするとftp接続で使用したいコマンド はすべてインストールしなければならない?ということなのでしょうか? 因みに、FreeBSD6.1では【install -m 111 -o root -g wheel /bin/ls /home/ftp/bin】コマンドでlsを該当フォルダにインストールをしなくてもlsコマンドが実行できました。 推測するに、このことから前のバージョン用に用意されてものと考えてよいみたいですね。

関連するQ&A

  • コマンドの実行についての疑問

    コマンドの実行について教えて下さい。 vine4.2でLinuxの勉強をしています。 一般ユーザ(user1)でlsのコマンドを実行すると、結果が表示されますが、 /bin/lsはパーミッション(755)、ユーザ、グループは共に(root)になっています。なぜ実行できるのでしょうか。 もちろん。user1は、rootグループに含まれていません。 基本的なことと思いますが、よろしくお願いします。

  • ftpコマンドを使ったファイル転送

    お尋ねします。 ftpコマンドを使って、接続したフォルダの配下のroot2というフォルダへファイル転送を行いたいのですが、どのようにコマンドを入力すればいいのでしょうか。 サーバーには、接続ができていることは確認できました。 C:\>ftp サーバー名 Connected to サーバー名 220 Microsoft FTP Service User (サーバー名:(none)):ユーザー名 331 Password required for ユーザー名. Password: 230 User ユーザー名 logged in. ftp> よろしくお願いします。

  • シンボリックリンクでパミッションエラー?

    ブラウザからコマンド実行しようとするとエラーになります。 シンボリックリンクは関係ないかもしれません。 ・下記で何かおかしいことはあるでしょうか? ・「本体ファイル」と「シンボリックリンク」の「所有者」が異なっているのはマズいでしょうか? ・「x」がそれぞれ3つずつ表示されているので、実行権限に問題はない、という認識で合っているでしょうか? ■/usr/local/bin lrwxrwxrwx 1 root root phantomjs -> /home/user/phantomjs/bin/phantomjs ■/home/user/phantomjs/bin -rwxrwxr-x 1 user user phantomjs

  • makeコマンドができない

    基本的なことだと思いますがお願いします。 fedore core で色んなことをやってみようと思い sl を インストール していたのですがmakeができないのです。インストール通りにできないの はなんでですか? makeコマンドは /usr/bin にありました。 的はずれなこと言っていたらすみません。 [root@localhost sl]# ls -lrt 合計 36 -rw-r--r-- 1 3605 lock 4101 1月 19 1994 sl.h -rw-r--r-- 1 3605 lock 980 1月 19 1994 sl.txt -rw-r--r-- 1 3605 lock 689 1月 19 1994 sl.1 -rw-r--r-- 1 3605 36 417 7月 22 1998 README -rw-r--r-- 1 3605 36 331 7月 22 1998 Makefile -rw-r--r-- 1 root root 76 10月 31 2005 install.txt -rw-r--r-- 1 3605 36 7131 10月 31 2005 sl.c [root@localhost sl]# more install.txt 1. # tar xvf sl.tar 2. # cd sl 3. # make 4. # cp sl /usr/local/bin/ 5. # sl [root@localhost sl]# make cc -O -o sl sl.c -lcurses -ltermcap make: cc: コマンドが見つかりませんでした make: *** [sl] エラー 127

  • KotlinのLinuxへのインストールについて

    Kotlinのサイトのコマンドラインのコンパイラのインストールについてのページ(http://kotlinlang.org/docs/tutorials/command-line.html)を見ると sdk をインストールしてから sdk install kotlin で使えるようになると書いてあって、確かに使えるようにはなるんだけどユーザのホームディレクトリ以下にインストールされているだけのようで、これだと他のユーザで使えません。 普通のコマンドのインストールのようにrootで /usr/bin 等にインストールすることはできないんでしょうか? (使うユーザごとにインストールしないとダメ? そういう無駄な事はなるべくならしたくないんですが)。 試しに root で sdk install kotlin とやってみましたが root のホームディレクトリ以下に同じように入るだけで root でしか使えませんでした。

  • linux(redhat)ファイルシステムの復旧について

    お疲れ様です。 Linux(redhat)環境で、あるフォルダ配下をフォルダごとルート直下に移動しようとして以下のmvコマンドを投入しました。 >mv /opt/xxx/test /* コマンドの指定方法に誤りがあったのか、この後lsなどのコマンドが効かなくなってしまいました。 >/bin/ls:そのようなファイルやディレクトリはありません cdコマンドで/opt配下には移動はできるのですが、/binなどは壊れてしまったのか、移動もできません。 /bin配下のコマンドが効かず何もできない状態なのですが、何とか復旧させる手段はないでしょうか。OSを再インストールするしかないでしょうか。 ご存じの方おりましたらよろしくお願いいたします。

  • proftpdではls、cd、bin、putコマンドとか使えないのでしょうか?

    当方部署のサーバに、別の部署のサーバからのFTPを 許可しなければならなくなり、proftpdにて、アク セス制限をかけようと思い、導入しました。 テストでこのproftpdに、FFFTPで接続しての 動作確認はできました。 ほっとしていたのですが、telnetで、自分の proftpdに接続して動作確認をしようと思い、 user、passコマンドを入力後、lsやcdやbin やputコマンドを使ってみましたが 受け付けませんでした。helpでみたら、そんな コマンドはありませんでした。 FFFTPで出すコマンドは、ちゃんとproftpdにて 受け付けるコマンドを出してました。 Q1.やっぱりproftpdではlsやcdやbinやputコマンド は使えないのでしょうか? Q2.また、なんでFFFTPはこれらのコマンドを使わない のかでしょうか? 別の部署のサーバから、FFFTPのようにコマンド を出してくればいいのですが...コマンドライン からftp接続する場合、絶対これらのコマンドを 使ってきますよね。 うまい解決方法があれば助かります。 よろしくお願いいたします。

  • 誤って/home配下を削除してしまいました;;

    CentOS5.0で/home/hogehoge配下にMaildir/とMaildir /とういうディレクトリがあったので、Maildir /を削除しようと思い以下のコマンドを実行しました。 [root@111 ~]# cd /home/hogehoge [root@111 hogehoge]# rm -rf Maildir / 後日hogehogeユーザでログインしたところ, -bash: dircolors: command not found -bash: /usr/bin/id: No such file or directory -bash: [: =: unary operator expected -bash: /sbin/consoletype: そのようなファイルやディレクトリはありません 確認してみると/home配下が全て削除されてしまっていました。 rootユーザでのコマンドもパスが通っていないようでだいぶ使えないコマンドがあります。 色々試すも復旧にいたっていません。 お分かりなる方、復旧方法を教えてください。 よろしくお願いします。

  • whereisコマンドについて教えてください。

    whereisコマンドでソースやマニュアルファイルの場所がわかると思うのですが疑問がわきました。 [root@localhost ~]# whereis ls ls: /bin/ls /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz まずソースがls:となっているのですが、これはどこの場所を指しているのでしょうか? またマニュアルはみんな.gzファイルで用意されているのでしょうか?

  • mailコマンドによるメール送信について

    VineLinux3.2をインストールして、メールの送信実験をしています。スーパーユーザーはrootです。useraddコマンドにて、taroというユーザーを作成し、mailコマンドでrootよりtaroにメールを送信することはできるのですが、taroからrootへのメール送信ができません。なぜでしょうか?教えて下さい。