アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (4件)

一般ユーザとして 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 オプションを使用します。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
パーミッションに対して無頓着だったので
勉強になりました。

お礼日時:2001/10/18 17:42

ユーザのホームディレクトリ(public_html)にUploadする際は、そのユーザ名でログインします。



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

どうしてもrootでftpでログインしたければ/etc/ftpusersを編集しましょう。
    • good
    • 0
この回答へのお礼

おっしゃるようにやってみたら
DocumentRootディレクトリにログインできました。
ありがとうございました。

お礼日時:2001/10/18 17:44

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"でログインします。
これで、アップロードができるとおもいます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
ディレクトリのパーミッションを見たら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

「何のファイル」をサーバ上の「どこに」put(アップロード)しようとしているのですか?



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

また、FreeBSDのマシン上のrootの権限はありますか?

この回答への補足

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

補足日時:2001/10/16 21:33
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!