Armadilloフォーラム

Webサーバ用のhtmlファイルを転送できない

hakaru_plus

2018年2月8日 14時21分

お世話になります。山下と申します。

現在、Armadillo-IoT 3GをWebサーバとして動かし、テスト用ホームページを表示しようとしています。
デフォルトのトップページ(/var/www/html/index.lighttpd.html)に、テストをVIエディタで追記後、
ホームページ(index.html)の作成を、パソコン(OS:Windows)で行い、
パソコンからFTPアプリ(FFFTP Ver1.99a)を利用してArmadillo-IoT 3Gの /var/www/html/ ディレクトリに転送する。
という作業を行いたいのですが、
パソコンからFTP転送を行なおうとすると、「553 /var/www/html/index.html: Permission denied.」 というエラーが発生します。

同じFTP接続で、Armadillo-IoT 3Gの/home/hogehoge ディレクトリに、index.htmlファイルの転送が出来る事は確認しているので、
何らかの原因で /var/www/html/ ディレクトリに転送ができないと予想しています。

上記期待通りに動作しない事への対応や、解決方法のご教示をお願いしたします。

コメント

at_keita.mogaki

2018年2月8日 18時35分

茂垣です。

Armadillo-IoT 3Gで使用しているftpサーバのパッケージ名を教えて頂けますでしょうか。

もし、vsftpdを使用されているのでしたら、以下の手順で、設定ファイルにユーザー名を登録することで、
FTPクライアントソフトからの読み書きが可能になるかと思います。

■vsftpd.confの編集
以下のコマンドを実行し、vsftpd.confを開きます。

root@armadillo:~# vi /etc/vsftpd.conf

chroot_list_enableの値とchroot_list_fileの値を以下のように設定します。

〜省略〜
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
〜省略〜

「chroot_list_enable」をYESにすることでホームディレクトリより上層へのアクセスを許可するユーザーのリストが有効となります。それにより、「chroot_list_file」に記述したユーザーのみ上層へのアクセスが許可されます。

■ユーザー名の追加
/etc/vsftpd.chroot_listにアクセスを許可するユーザー名を登録します。

root@armadillo:~# echo [username] >> /etc/vsftpd.chroot_list

※[username]には、FTPにて指定されているユーザ名を入力して下さい。

■vsftpd.confの設定反映
ここまで行った設定を反映させるためにvsftpdを再起動します。

root@armadillo:~# systemctl restart vsftpd.service                                                       
root@armadillo:~# 

上記を設定を行うことで、FTPクライアントソフトからの読み書きが可能になります。

ご確認の程よろしく願い致します。

at_keita.mogaki

2018年2月8日 19時00分

補足します。

FTPによるファイル転送は、暗号化されていません。
ローカルのネットワーク環境では問題ありませんが、外部から接続を行う際は、
SFTPなど、セキュリティ対策が行われたプロトコルを利用する方が安全です。

msykfz

2018年2月9日 11時33分

こんにちは、藤井と申します

ひょっとして、単純に/varの下がrootの持ちものになっているだけでは?

> お世話になります。山下と申します。
>
> 現在、Armadillo-IoT 3GをWebサーバとして動かし、テスト用ホームページを表示しようとしています。
> デフォルトのトップページ(/var/www/html/index.lighttpd.html)に、テストをVIエディタで追記後、
> ホームページ(index.html)の作成を、パソコン(OS:Windows)で行い、
> パソコンからFTPアプリ(FFFTP Ver1.99a)を利用してArmadillo-IoT 3Gの /var/www/html/ ディレクトリに転送する。
> という作業を行いたいのですが、
> パソコンからFTP転送を行なおうとすると、「553 /var/www/html/index.html: Permission denied.」 というエラーが発生します。
>
> 同じFTP接続で、Armadillo-IoT 3Gの/home/hogehoge ディレクトリに、index.htmlファイルの転送が出来る事は確認しているので、
> 何らかの原因で /var/www/html/ ディレクトリに転送ができないと予想しています。
>
> 上記期待通りに動作しない事への対応や、解決方法のご教示をお願いしたします。

hakaru_plus

2018年2月9日 13時32分

お世話になります。山下です。

茂垣様、藤井様 『Webサーバ用のhtmlファイルを転送できない』件でのご教示、ありがとうございます。
以下の手順で、FTPでのhtmlファイルの転送と、Webページとしての参照ができるようになりました。

01. Armadilloから、今まで使っていたFTPアプリケーションをアンインストール。(vsftpdではなかった為)
02. Armadilloに、vsftpdをインストール。
03. vsftpdの動作環境を設定。
   VIエディタで、/etc/vsftpd.confの内容を変更。
    write_enable=YES → #をとって有効化
    chroot_local_user=YES → #をとって有効化
    chroot_list_enable=YES → #をとって有効化
    chroot_list_file=/etc/vstpd.chroot_list → #をとって有効化
    allow_writeable_chroot=YES → chroot_list_file=/etc/vstpd.chroot_listの下に追記
   echo hakaru >> /etc//vstpd.chroot_list → /etc/vstpd.chroot_list ファイルに hakaru(FTPでのログイン名) を追加
04. /var/www/htmlディレクトリの直下にhpディレクトリを作成し、そのディレクトリの所有者を、root → hakaruに変更。
05. vsftpd再起動後、パソコンからFTPで接続。
06. /var/www/html/hpディレクトリにtest.htmlファイル転送。
07. Armadillo上で、test.htmlのアクセス権を、-rw------- → -rw-r--r--に変更。
08. /var/www/html/index.lighttpd.html に、Test を追記。
09. パソコンのブラウザから、ArmadilloのHPを表示。そのページの『Test』リンククリックで、test.htmlページを表示。

以上、貴重なご意見ありがとうございました。