OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ftpでアップロードできない

  • 困ってます
  • 質問No.152294
  • 閲覧数1989
  • ありがとう数6
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 84% (213/251)

FreeBSD(4.2R)初心者です。
BSDマシンとWinマシンをLANで接続しています。
Winマシンからftpすると、接続することやダウンロードは出来ますが
アップロードができません。パーミッションもいじれません。
apacheをインストールしてからこうなったような気がします。
ちなみにtelnetはできます。
どなたか解決方法を教えていただきたいです。
よろしくお願いします。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.3
レベル11

ベストアンサー率 27% (129/465)

一般ユーザとして ftp ログインしたがアップロードできない、という問題として話を進めます。

まず、パーミッションについてですが、
#2のご回答にもあるように、
3種類のパーミッションが存在します。
すなわち、「本人」「グループ」「その他の人全員」です。
755 でアップロードできなくて 775 でアップロードできた、ということは、
当該ディレクトリはログインしたユーザの属するグループのどれかであった、ということです。
(ここで「アップロードできる」ことは、書き込み権限がある、ということです)
ディレクトリのグループの調べ方は、
ls -lg で調べられます(実際 FreeBSD 4.2 では-gオプション無しでもグループは見えますが)。
左から4つ目のフィールドがそのディレクトリのグループです。
また、当該ユーザの属するグループは、id コマンドで調べられます。
ls -lg と id から、なぜ 755 ではダメで 775 ではできたのかが納得できると思います。

次にパーミッションをいじれないのは、
単にパーミッションをいじるためのパーミッションが与えられていないからです。
パーミッションをいじれるのは、所有者もしくは root です。

解決策は、アップロードしたいディレクトリに、
ftp でログインするユーザに書き込み権限を与えればよいのです。
telnet して root なりそのディレクトリの所有者なりに su して、
適当に書き込み権限を与えればよいです。
ここで、適当に書き込み権限を与えるとは、

1. 「他人」に属するユーザ全員に書き込み許可、すなわち
% chmod o+w (当該ディレクトリ名)
2. 当該ユーザをディレクトリのグループに加え、
ディレクトリはグループ書き込み許可にする、すなわち
/etc/group の当該グループエントリに、当該ユーザを加え、
% chmod g+w (当該ディレクトリ名)
3. 当該ユーザしか書き込まないなら、
当該ディレクトリを当該ユーザ所有にする、すなわち
% chown (当該ユーザ名) (当該ディレクトリ名)

のどれかを実行することになるでしょう。

ちなみに、サブディレクトリの権限も一様に変更したい場合は、
chmod の -R オプションを使用します。
お礼コメント
harisun

お礼率 84% (213/251)

ご回答ありがとうございます。
パーミッションに対して無頓着だったので
勉強になりました。
投稿日時 - 2001-10-18 17:42:13
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル12

ベストアンサー率 41% (324/772)

「何のファイル」をサーバ上の「どこに」put(アップロード)しようとしているのですか? FreeBSDのマシンって手元にありますか? それとも、レンタルサーバか何かですか? また、FreeBSDのマシン上のrootの権限はありますか? ...続きを読む
「何のファイル」をサーバ上の「どこに」put(アップロード)しようとしているのですか?

FreeBSDのマシンって手元にありますか?
それとも、レンタルサーバか何かですか?

また、FreeBSDのマシン上のrootの権限はありますか?
補足コメント
harisun

お礼率 84% (213/251)

説明不足ですみません。
BSDマシンは手元にあります。root権限もあります。
DocumentRootまたはユーザのホームディレクトリ(public_html)に
webページ(htmlファイル)をおきたいのです。
よろしくお願いします。
投稿日時 - 2001-10-16 21:33:55


  • 回答No.2
レベル12

ベストアンサー率 43% (280/638)

FreeBSDは、harisunさんが操作できるのですか。 Unixマシンでは、「パーミション」が存在しています。 ダウンロードができて、アップロードができないということであれば、ネットワークの接続と、ユーザ認証も問題ないと思います。 一度、アップロードしようとする、FreeBSDディレクトリィを、 ls -l で確認して見てください。 drwxr--r-- もし、上記のようであれば ...続きを読む
FreeBSDは、harisunさんが操作できるのですか。

Unixマシンでは、「パーミション」が存在しています。
ダウンロードができて、アップロードができないということであれば、ネットワークの接続と、ユーザ認証も問題ないと思います。

一度、アップロードしようとする、FreeBSDディレクトリィを、
ls -l
で確認して見てください。
drwxr--r--
もし、上記のようであれば、このディレクトリィは、
最初の"d":ディレクトリィ
2番目の"r":読み取り許可
3番目の"w":書き込み許可
4番目の"x":実行権
以下のr--r--のうち最初の"r--"は、グループ、次の"r--"は、その他です。
今回は、この部分は直接関係ないので、そののままにしておきます。
恐らく、現在FreeBSDのアップロードするディレクトリィは、
dr--r--r--
になっていませんか?
# chmod 755 <ディレクトリィ>
この結果
drwxr-xr-x
に変わるはずです。
この作業を行うには、ルート権限が必要ですので、"root"でログインします。
これで、アップロードができるとおもいます。
お礼コメント
harisun

お礼率 84% (213/251)

ご回答ありがとうございます。
ディレクトリのパーミッションを見たら755になっていたのですが、
775にしてみたらアップできました。
あと、DocumentRoot(/usr/local/www/data)にアップさせるにはどうしたらいいのですか?
dataのパーミッションは755ですが、chmodしても変更できません。
ls -laでみると、data ->/usr/local/share/doc/apacheとかいてありますが
何か関係があるでしょうか?
ftpはrootではログインできないですよね?
通常はどうやってアップさせているのでしょうか?
教えていただけたら幸いです。
投稿日時 - 2001-10-16 23:12:10
  • 回答No.4
レベル12

ベストアンサー率 41% (324/772)

ユーザのホームディレクトリ(public_html)にUploadする際は、そのユーザ名でログインします。 DocumentRootは通常rootが所有者になっているため、まず、コンテンツアップロード専用のユーザアカウントを作成し、DocumentRootディレクトリの所有者を今作成したユーザへ変更します。 どうしてもrootでftpでログインしたければ/etc/ftpusersを編集しましょ ...続きを読む
ユーザのホームディレクトリ(public_html)にUploadする際は、そのユーザ名でログインします。

DocumentRootは通常rootが所有者になっているため、まず、コンテンツアップロード専用のユーザアカウントを作成し、DocumentRootディレクトリの所有者を今作成したユーザへ変更します。

どうしてもrootでftpでログインしたければ/etc/ftpusersを編集しましょう。
お礼コメント
harisun

お礼率 84% (213/251)

おっしゃるようにやってみたら
DocumentRootディレクトリにログインできました。
ありがとうございました。
投稿日時 - 2001-10-18 17:44:35
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ