centos上安装vsftp

centos上安装vsftp

注意:

1)在centos上安装ftp服务,需要安装两个软件包(在FTP服务器上,不然就找不到 ftp这个bash)。可以用yum :

yum install  vsftp   -----------服务端的包

yum install ftp---------------客户端的包

2)selinux默认会阻止ftp。

# getsebool -a|grep ftp  --------

用命令查看ftp的状态

# setsebool ftp_home_dir 1   -----------开启ftp

#setsebool allow_ftpd_full_access=1 -----------如果要上传文件 的话,要执行这条命令。

3)建立ftp的日志文件:touch /var/log/vsftpd.log


安装步骤:

1)用yum安装软件包:yum install  vsftp        yum install ftp

2)建立日志文件:touch /var/log/vsftpd.log

3)修改配置文件:


anonymous_enable=NO

local_enable=YES


write_enable=YES

local_umask=022
anon_umask=022
virtual_use_local_privs=YES
write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

#chown_uploads=YES    ---修改上传文件事的属组主
#chown_username=root    ---上传文件时将 属主改成root

xferlog_file=/var/log/vsftpd.log    ----日志文件

xferlog_std_format=YES

#idle_session_timeout=600

#data_connection_timeout=120


ascii_upload_enable=YES
ascii_download_enable=YES  ---这两条是允许以ASCII的格式的文件上传。

chroot_local_user=YES
chroot_list_enable=YES    ---禁锢用户

#chroot_list_file=/etc/vsftpd/chroot_list   ---这个 文件是保存需要禁锢在属主目录中的用户的文件

listen=YES

#setsebool allow_ftpd_full_access on  ----本来以为这条命令可以让selinux允许ftp的所有都通过,但是,写了这条命令,就无法启动服务,不知道是不是我服务器 的问题。
guest_enable=YES
guest_username=ftp   ---开启虚拟用户   
user_config_dir=/etc/vsftpd/vuser_dir    ----保存虚拟用户的目录
anon_root=/var/ftp/chenbo/    -----虚拟用户登录的目录
pam_service_name=vsftpd.vuser    --------虚拟机用户的账号和密码的认证文件
userlist_enable=YES   
tcp_wrappers=YES


4)启动服务:server vsftpd restart

补充:

A)新建保存虚拟账号名和密码的文件,并转换成数据库格式:

   安装软件:yum install db4 db4-utils 

    新建文件:/etc/vsftpd/vusers.list (在这个文件中输入虚拟用户名和密码。注意奇行是用户名,偶行是密码。并且在密码后不要有多远的空格

   接着生成虚拟用户认证的db文件:
db_load -T -t hash -f /etc/vsftpd/vusers.list /etc/vsftpd/vusers.list.db

设置文件权限:chmod 600 /etc/vsftpd/vusers.*

B)虚拟账号的认证文件:/etc/pamd/vsftpd.vuser

#%PAM-1.0
auth required pam_userdb.so  db=/etc/vsftpd/vusers
account required pam_userdb.so  db=/etc/vsftpd/vusers


C)虚拟账号的保存目录 /etc/vsftpd/vuser_dir 下要新建一个与虚拟账号名称一样的文件,在里面编写虚拟账号的权限。

local_root=/project_b2b     ----指定虚拟账号登录后所在的目录
anon_umask=022

anon_max_rate=51200

anon_upload_enbale=YES


#write_enable=YES 
#anon_world_readable_only=NO
#anon_mkdir_write_enable=YES
#anon_other_write_enable=YES

D)特别感谢的文档的URl:

http://www.cnblogs.com/weaver1/archive/2012/03/05/2380559.html

http://blog.sina.com.cn/s/blog_50e52c230100l9sx.html

http://blog.163.com/wspjing@126/blog/static/117720534201222411274711/

你可能感兴趣的:(centos,vsftp,虚拟用户)