Ubuntu 10.04i386を実行しています。 Cyberduck(FTP GUIクライアント)を使用してサーバーmysub.domainname.com(ここで変更)に接続します。
これが私がやりたいことです:
1)Apache2ルートを/var/www
から/home/myuser/webroot
に変更して、index.htmlなどのファイルを提供します
2)FTPが/home/myuser/webroot
に書き込むことを許可します
3)myuser
がユーザー/パスコンボでFTPを使用してログインし、myuser
フォルダー内の任意の場所で読み取り/書き込みができるようにします
Apache2ルートフォルダは正常に機能します。 myserver.com/index.htmlにアクセスすると機能します。しかし、etc/vsftpd.conf
でこれらの行を変更したのに、FTPに書き込むことができません。
listen=YES
#listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
#local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
# chroot_list_enable below.
#chroot_local_user=YES
#chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem
問題
/home/myuser
または/home/myuser/webroot
にフォルダを作成しようとすると、FTPプログラムCyberduckでエラーCreate directory operation failed.
が発生します。
多分役立つ情報:
drwxrwsr-x 2 myuser www-data 4096 2011-04-18 03:04 webroot
ここでも権限を変更しました:
-rw-rwSr-- 1 myuser root 69 2011-04-18 02:14 index.html
...しかし、運がありません。 FTPを使用してアップロードまたは書き込みを行うことができません。どんな提案やポインタも素晴らしいでしょう、私はこれにかなり正直に迷っています。
更新:
FTPの匿名ログインを有効にしようとしましたが、それを機能させることさえできませんでした...唯一の解決策は、vsftpdとApache2のシステムを完全に削除して最初からやり直すことだと思います
権限については、myuserアカウントからアクセスできるように、フォルダとファイルをmyuser
が所有している必要があります。
Apache(またはスクリプト)がフォルダーにwriteする必要がある場合は、chgrp
を使用して、www-dataに書き込む必要のある特定の場所を割り当てるのが最善の方法です。グループ、次にchmod g+w
その場所またはファイル。フォルダへの書き込みアクセスを許可している場合、chmod g+sw
はフォルダへの書き込みアクセスを許可し、そこで作成されたファイルもwww-dataグループに属するようにします。
この場合のファイルとディレクトリは次のようになります。
drwxrwxr-x 2 myuser www-data 4096 2011-04-18 03:04 webroot
-rw-rw-r-- 1 myuser www-data 1000 2011-04-18 03:04 index.html
drwxrwsr-x 2 myuser www-data 4096 2011-04-18 03:04 folderwithg+ws
ただし、Apacheへのファイルやフォルダへの書き込みアクセスを許可する場合は十分に注意する必要があります。そうしないと、攻撃者がスクリプトを上書きしたり、index.htmlを置き換えたりする方法を見つけ出す可能性があります。
それ以外の場合、Apacheがドキュメントディレクトリに書き込む必要がない場合は、すべてのサブディレクトリとファイルが誰でも読み取り可能である(そしてディレクトリが誰でもアクセス可能である)限り、アクセス許可は問題ありません。
SSL/TLSの場合、不足しています
ssl_enable=YES
ユーザーに暗号化の使用を強制できます。
force_local_logins_ssl=YES
force_local_data_ssl=YES
また、HIGHまたは特定の暗号リストに制限する場合は、ssl_ciphers=
オプションもあります。 「暗黙のSSL」(AUTH SSL
またはAUTH TLS
コマンドで暗号化を開始する代わりに、暗号化は接続の開始時にネゴシエートされます)が必要な場合、それはimplicit_ssl=YES
です。