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

vsftpを設定し試したら書き込み禁止になっている

centos5にvsftpを設定しました。

試したところ、下記の状態です。

ftp> mkdir aaa
550 Create directory operation failed.



手順は以下でした。
1)centosにユーザftpuser1を作成
ホーム:/var/ftp/pub/ftpuser1
シェル:/sbin/nologin


2)設定ファイル作成
# Example config file /etc/vsftpd/vsftpd.conf

listen=YES
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd
tcp_wrappers=YES

anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO

local_enable=YES
secure_chroot_dir=/usr/share/empty
local_umask=002
chroot_local_user=YES
chroot_list_enable=NO
passwd_chroot_enable=YES
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.user_list

write_enable=YES
ls_recurse_enable=NO

dirmessage_enable=YES
ftpd_banner=Welcome to blah FTP service.

xferlog_enable=YES
xferlog_std_format=NO
xferlog_file=/var/log/xferlog
vsftpd_log_file=/var/log/vsftpd.log
dual_log_enable=YES
syslog_enable=NO
log_ftp_protocol=YES

connect_from_port_20=YES
idle_session_timeout=600
data_connection_timeout=120

pasv_promiscuous=YES
pasv_min_port=4000
pasv_max_port=4029

use_localtime=YES

ssl_enable=NO
force_local_logins_ssl=YES
force_local_data_ssl=YES


3)設定ファイル(user_list)作成
中身は
ftpuser1
のみ


4)ホームのパーミッション設定
/var/ftp/pub/ftpuser1 drwxrwx---




何が間違えているのでしょうか?

A 回答 (2件)

>Permissiveにするとmkdirできました。


>でも、これって根本的に解決したのでしょうか?

「SELinuxは使わない。」という視点に立てば解決です。

「SELinuxでセキュアにしたい。」というのであれば、
>SELinuxの設定の勉強をすれば
と言うことになろうかと思われます。


タイプ…の問題ですかね。
ls -Z
で表示されます。
setseboolでftp_home_dirは……
FTPでファイル一覧とか取得できていれば無関係かなぁ…。
# ホームディレクトリを/varの下で…というのは、ちょっと不明。

/var/log/audit/audit.log辺りにSELinux関連のログが出ている…かと。

/var/log/messageに…
setroubleshoot: SELinux policy is preventing the ftp daemon from writing to a public directory. For complete SELinux messages. run sealert -l ~~~~
と出ていました。

setsebool allow_ftpd_anon_write on
でOKだったのかも知れません。
# /var/ftp/pubの下だから…かも知れませんけど。ftpd_anon_writeって辺りが。
    • good
    • 0
この回答へのお礼

ありがとうございます。

当面は「SELinuxは使わない。」で行こうと思います。

お礼日時:2010/09/17 10:32

ログには何か出ていませんか?


/var/log/messageとか…。

お約束としてSELinuxの設定どうなっています?
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]#
の環境でやってみたところ、普通にディレクトリ作成できましたが。

この回答への補足

Permissiveにするとmkdirできました。
でも、これって根本的に解決したのでしょうか?
SELinuxの設定の勉強をすれば分かるのでしょうか?

補足日時:2010/09/15 09:46
    • good
    • 0
この回答へのお礼

御親切に有り難うございます。


>ログには何か出ていませんか?
>/var/log/messageとか…。

/var/log/messageはftpしても更新されないようですが、
vsftpd.logは以下のようになっています。

Wed Sep 15 09:23:24 2010 [pid 2966] [ftpuser1] FTP command: Client "192.168.1.10", "MKD vvv"
Wed Sep 15 09:23:24 2010 [pid 2966] [ftpuser1] FTP response: Client "192.168.1.10", "550 Create directory operation failed."
Wed Sep 15 09:23:24 2010 [pid 2966] [ftpuser1] FAIL MKDIR: Client "192.168.1.10", "/vvv"



>お約束としてSELinuxの設定どうなっています?

このようになっています。
[root@myk651 ~]# getenforce
Enforcing
これが原因でしょうか?

お礼日時:2010/09/15 09:32

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


このQ&Aを見た人がよく見るQ&A