スポンサードリンク

2010年02月01日

ftpでファイル削除や上書きができないんだけど

おっす、いきなり仕事の話で申し訳ない。

ftpで困ったことがあったので覚え書き。
ぐぐってもあまりでてこなかったので。

ftpでファイルを削除やアップロードができない!
と、今日困りました。

ffftpで、ファイルをサーバに上書き転送してみると
「550 Access is denied」
とでるではありませんか。しかもファイルも削除できない。

でも、サーバにログインして削除すると、削除できる・・・。
もちろん上書きも。

うん???なぜだ。

原因は以下の通りでした。

1:ユーザがadministratorと、ftp用に新しく作ったユーザと2人いる
仮にここではadministratorとftpuserとします。

2:リモートデスクトップは「administrator」でログインしている
また、ffftpではftpuserで接続している

この場合、以下の作業をしないと、ftpuserではファイルの変更ができません。

A:IISで、対象の仮想ディレクトリに「Write」権限をあたえる。
⇒これは当たり前っちゃ当たり前なのですが、念のため確認してください。
下記URLとか参考になるかと
http://support.microsoft.com/kb/201779/ja

B:ファイルアクセス権限を与える
⇒変更を加えようとしているファイル(もしくはフォルダ)の
「プロパティ > セキュリティタブ」内の、
Group or user namesにftpuserを加え、下の許可のところで「変更」にチェックをいれてください。
権限はドライブごと与えてしまうと楽です。セキュリティに問題がないならですが。

英語ですがMSの説明書は以下のページになるかと。
http://technet.microsoft.com/en-us/library/bb457115.aspx

で、「B」が、結構盲点かなと・・・。
「A」のあたりばかり気にしていて、そもそものファイルアクセス権限を忘れていました。

というわけで、皆様もユーザを新しく追加された際には「B」も忘れずに。

■追記
ftpの接続というのは、基本的に
「デフォルトftpサイトや仮想ディレクトリを作成してサービスの"FTP Publishing Service"を再開する」
と、基本的にはWindowsに存在するどのユーザでもftpで接続できるようになります。

上の例でも、ftpuserでもadministratorでもftp接続はできます。
テストは[ftp IPアドレス]で接続できるかcmdなどからテストするとわかりやすいです。

そして、「どのユーザでもftpで接続できる」という状態になった後に
「どこのフォルダに対して書き込みなどができるか」という
フォルダごとに与えられた権限が参照される状態になります。
(つまり、ftp接続でログオンできるのと書き込めるというのは全く別の問題)

そのため、新しいユーザを作成した場合は
基本的にフォルダごとのアクセス権限を与える必要があります。

ただ、ユーザ作成時にそのユーザに付与された権限の強さによっても
このftpの権限は左右されますので、上の内容が当てはまらない場合もあると思います。
posted by hinata_hisa at 12:52 | 東京 ☀ | Comment(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。