CentOS6.5 64bit如何安装配置FTP服务(vsftpd)

FTP看似一个简单的服务,但在Linux上配置起来往往并没那么容易。ITGeeker技术奇客分享简单而使用的CentOS FTP配置服务,让你不在为架设FTP服务而困扰。
vsftpd-install-by-itgeeker2014

一、 vsftpd安装


一般在CentOS上都自动安装了vsftd,若没有安装则可以使用以下步骤进行安装
yum -y install vsftpd
service vsftpd start
chkconfig vsftpd on
touch /var/log/vsftpd.log # 创建vsftp的日志文件

在CentOS中,这样就可以完成了一个简单的匿名FTP的搭建。你可以通过文件资源管理器访问 ftp://YOURIPADDRESS 来进行访问,这个时候你可以看到里面有一个目录“pub”,其它什么都不能干。

二、 vsftpd虚拟用户配置

1. 编辑配置文件vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO                #设定不允许匿名访问
local_enable=YES                   #设定本地用户可以访问
chroot_list_enable=YES             #使用户不能离开主目录
xferlog_file=/var/log/vsftpd.log   #设定vsftpd的服务日志
ascii_upload_enable=YES
ascii_download_enable=YES          #设定支持ASCII
pam_service_name=vsftpd            #PAM认证文件名,PAM将根据/etc/pam.d/vsftpd进行认证

以下这些是关于Vsftpd虚拟用户支持的重要CentOS FTP服务配置项目。

默认vsftpd.conf中不包含这些设定项目,需要自己手动添加CentOS FTP服务配置。
guest_enable=YES         #设定启用虚拟用户功能。
guest_username=ftp       #指定虚拟用户的宿主用户。-CentOS中已经有内置的ftp用户了
user_config_dir=/etc/vsftpd/vuser_conf  #设定虚拟用户个人vsftp的配置文件存放路径。存放虚拟用户个性化的配置文件名,和虚拟用户名相同

2. 创建chroot list,将用户ftp加入其中

touch /etc/vsftpd/chroot_list
echo ftp >> /etc/vsftpd/chroot_list

3. 进行虚拟用户认证配置

安装Berkeley DB工具,后面找不到db_load的问题就是没有安装这个软件包的原因。
yum install db4 db4-utils

然后,创建用户密码文本vuser_passwd.txt

vi /etc/vsftpd/vuser_passwd.txt

ftpuser1
ftppass1
ftpuser2
ftppass2

#注意奇数行是用户名,偶行是密码

生成虚拟用户认证的db文件
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

编辑认证文件/etc/pam.d/vsftpd,全部注释掉原来语句,并增加以下两行

vi /etc/pam.d/vsftpd

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

现在可以创建虚拟用户个性化FTP服务配置文件

mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftpuser1

local_root=/opt/var/ftp1 #虚拟用户的根目录(根据实际修改)
write_enable=YES 可写
anon_umask=022 #掩码
anon_world_readable_only=NO 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

4.建立目录和设定权限

mkdir /opt/var/ftp/ftpuser1        #给刚建立的用户创建目录
chmod 777 /opt/var/ftp/ftpuser1    #设定目录权限

5. 启动vsftp服务

service vsftpd restart
CentOS上的FTP服务假设完毕!!!

“CentOS6.5 64bit如何安装配置FTP服务(vsftpd)”的13个回复

  1. Starting vsftpd for vsftpd: 500 OOPS: vsftpd: not configured for standalone, must be started from inetd

    1. vsftp的确问题挺多,建议你用MySecureShell吧,是sftp更安全,而且安装配置都很方便。http://mysecureshell.free.fr/forum/

  2. centos7 测试后无效,登录上去看到一个叫 pub 的文件夹,然后也不能删除,也不能上传

  3. 5. 设置FTP用户账号。设置成功后,即可通过该账号登录FTP服务器。
    (1)设置FTP用户的账号,例如账号为“ftpuser1”,目录为/home/ftpuser1,且设置不允许通过ssh登录。
    [root@VM_250_202_tlinux ~]# useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1
    (2)设置账号对应的密码,例如密码为“ftpuser1”。
    [root@VM_250_202_tlinux ~]# passwd ftpuser1

  4. useradd -d /mnt/e/wwwroot/ftp/ftpuser1 -s /sbin/nologin -M ftpuser1
    chown -R ftpuser1 /mnt/e/wwwroot/ftp/ftpuser1
    chown -R 777 /mnt/e/wwwroot/ftp/ftpuser1
    passwd ftpuser1

    将这个加上就可以上了

  5. # 启动ftp服务
    service vsftpd start
    # 查看ftp服务状态
    service vsftpd status
    # 重启ftp服务
    service vsftpd restart
    # 关闭ftp服务
    service vsftpd stop

发表评论

电子邮件地址不会被公开。 必填项已用*标注