お世話になります。
つたない質問になりますが、お答え頂ければ幸いです。
試行錯誤でproftpdを入れてみました。
ftpasswdというperlのスクリプトで、ユーザーを追加しました。
/var/www/vhosts/ユーザー/httpdocs
こんな感じで、フォルダを造りました。
しかし、ログインする段階で、
ログインエラーが返されます。
SystemLogを見ると
1:Preparing to chroot to directory '/var/www/vhosts/ユーザー/httpdocs'
2:ユーザー chdir("/"): Permission denied
3:FTP session closed.
となっています。
作ったフォルダのユーザー属性を変えればいいのかと思い、
chownでユーザーの物にしたのですが、状況は変わりませんでした。
こちらの掲示板で、
> <Global>
> AllowOverwrite yes
> <Limit ALL SITE_CHMOD>
> AllowAll
> </Limit>
> </Global>
が有効だと、エラーが出るとの旨を読みましたが、このような設定は行っていませんでした。
どのような対処を取ればよいでしょうか。
自分なりに大分調べたのですが、なんともうまく行かず時間ばかりが・・。
どなたか、何卒よろしくお願い致します。
configを載せた方頂けますか?
それとOSとかproftpdのバージョンとかも。
お返事ありがとうございます。
失礼しました。基本的な情報をお伝えします。
OS:RedHat Enterprise Linux ES 4
ProFTPd:1.3.0
以下、configの内容です。
- - - - - - - - - - - -- - - - - -- - - -
ServerName "ProFTPD"
ServerType inetd
DefaultServer on
DefaultTransferMode binary
UseFtpUsers on
Port 21
Umask 022
MaxInstances 30
ScoreboardFile /var/run/proftpd/scoreboard
TransferLog /usr/local/psa/var/log/xferlog
SystemLog /var/log/proftpd/sys.log
LogFormat allinfo "%t : %u (%a [%h]) : [%s], %T, %m (%f)"
LogFormat write "%t : %u : %F (%a)"
LogFormat read "%t : %u : %F (%a)"
LogFormat auth "%t : %u (%a [%h])"
ExtendedLog /var/log/proftpd/all.log ALL allinfo
ExtendedLog /var/log/proftpd/write.log WRITE write
ExtendedLog /var/log/proftpd/read.log READ read
ExtendedLog /var/log/proftpd/auth.log AUTH auth
<Directory /var/www/vhosts>
GroupOwner psacln
</Directory>
AuthPAM on
AuthPAMConfig proftpd
IdentLookups off
UseReverseDNS off
AuthUserFile /etc/ftpd.passwd
AuthGroupFile /etc/ftpd.group
AuthOrder mod_auth_file.c
ListOptions "-a"
DefaultRoot ~ !adm
<IfModule mod_tls.c>
TLSEngine on
TLSLog /var/log/proftpd-tls.log
TLSProtocol SSLv23
TLSCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP
# Are clients required to use FTP over TLS when talking to this server?
TLSRequired off
# Server's certificate
TLSRSACertificateFile /etc/httpd/conf/ssl.crt/server.crt
TLSRSACertificateKeyFile /etc/httpd/conf/ssl.key/server.key
# Authenticate clients that want to use FTP over TLS?
TLSVerifyClient off
</IfModule>
Include /etc/proftpd.include
- - - - - - - - - - - - - - -- - - - --
FTPSを使おうと思ったので、その記述が入っています。
何卒よろしくお願い致します。
AuthUserFile /etc/ftpd.passwd
で作成されたユーザのホームディレクトリは、
/var/www/vhosts/ユーザー/httpdocs
となっていますか?
通常のログイン(SHELL)はできますか?
また、PAMを使用されているみたいですので、
proftpdのPAM定義ファイルを見せて頂けますか?
わらび様
ご返信ありがとうございます。
> /var/www/vhosts/ユーザー/httpdocs
> となっていますか?
はい、確認しました。
> 通常のログイン(SHELL)はできますか?
これが問題のようでした・・。
ログインしてみた所、
Last login: Wed Aug 29 17:29:46 2007 from xxx.xxxx.xxxx.ne.jp
Connection to xxx.xxx.xxx.xxxx closed.
というメッセージで、ログを見た所
Aug 29 08:11:09 www sshd[23907]: Accepted password for ユーザー from xxx.xxx.xxx.xxx port 49292 ssh2
となっておりました。
これは、ログインはしたけれども、すぐに拒否をされてしまったという事でしょうか。
これは、そもそもFTP以前の問題、ということでしょうか・・。
> また、PAMを使用されているみたいですので、
> proftpdのPAM定義ファイルを見せて頂けますか?
知識不足のため、このPAMを調べるために、ご返信が遅れてしまいました。申し訳ありません。
# cat /etc/pam.d/proftpd
#%PAM-1.0
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required pam_stack.so service=system-auth
auth required pam_shells.so
account required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
session required pam_loginuid.so
となっています。
宜しくお願い致します。
単純に、homeディレクトリかパーミッションがあっていないだけのような気がします。
1. 下記で試験しているユーザ(oyaji)のUID(500):GID(100)とhomeディレクトリ(/home/oyaji)を確認。
今回は、当然、homeディレクトリが/var/www/vhosts/ユーザー/httpdocsとなっていなければおかしい。
# cat /etc/passwd | grep oyaji
oyaji:x:500:100:oyaji:/home/oyaji:/bin/bash
2. 上記で確認したhomeディレクトリのオーナとパーミッション確認。
一番上の「.」のオーナとパーミッションが上記とあっているかを確認。
# ls -al /home/oyaji
合計 108
drwx------ 5 oyaji oyaji 4096 12月 23 2006 .
drwxr-xr-x 5 root root 4096 7月 21 18:35 ..
-rw------- 1 oyaji oyaji 121 12月 23 2006 .bash_history
-rw-r--r-- 1 oyaji oyaji 24 10月 25 2006 .bash_logout
-rw-r--r-- 1 oyaji oyaji 191 10月 25 2006 .bash_profile
-rw-r--r-- 1 oyaji oyaji 124 10月 25 2006 .bashrc
-rw-r--r-- 1 oyaji oyaji 5619 10月 25 2006 .canna
-rw-r--r-- 1 oyaji oyaji 383 10月 25 2006 .emacs
-rw-r--r-- 1 oyaji oyaji 120 10月 25 2006 .gtkrc
drwxr-xr-x 3 oyaji oyaji 4096 10月 25 2006 .kde
d-wx------ 2 oyaji oyaji 4096 11月 7 2006 .ssh
-rw-r--r-- 1 oyaji oyaji 658 10月 25 2006 .zshrc
おやじ様
お世話になります。
おっしゃるとおり、パーミッションでした。。基本的な質問となってしまい、失礼致しました。
ありがとうございました。
単純にディレクトリに権限が無いと思います。
/var/www/vhosts/ユーザー/httpdocs
だとしたら、上から調べてみてはいかがですか?
/var
/var/www
/var/www/vhosts
・・・
といった感じで。
たぶん、「/var/www/vhosts」かな?
わらび様
お世話になります。
申し訳ありません。
おっしゃるとおりでした。
つたない質問になってしまう、と危惧していましたが
ちょっと基本的すぎました、、。
ご回答いただき、ありがとうございました。