linux下安装和配置Vsftp心得

测试系统是Centos 6

安装

# yum install vsftpd

vsftpd配置

# vi /etc/vsftp/vsftpd.conf

全部内容如下:

anonymous_enable=NO
local_enable=YES
local_umask=022
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
write_enable=YES
anon_umask=011
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
one_process_model=NO
chroot_local_user=YES
ftpd_banner=Welcom to my FTP server.
anon_world_readable_only=NO
guest_enable=YES
guest_username=local_user
pam_service_name=vsftp.vu

以上配置的意义不一一解释,说说重点:

  • local_umask=022 #本地用户上传的文件夹的权限,022对应755,其下的文件权限为644
  • anon_umask=011 #虚拟用户上传的文件夹的权限,011对应766,其下的文件权限为655
  • listen=YES #用独立模式启动服务
  • guest_enable=YES #允许用虚拟用户登陆
  • guest_username=local_user #虚拟用户登陆所映射的本地用户(这里的用户local_user下文会创建)
  • pam_service_name=vsftp.vu #指定PAM的配置文件(PAM是LINUX的可插拔认证模块)

建立一个存储了用户名和密码的数据库

# vi account.txt

全部内容如下:

cool
12345
manager
111111
john
2414222

(以上单数行为用户名,双数行是对应的密码)
account.txt文件建在哪里都没有关系,它只用来暂存用户名密码,下面马上会转变成db

# db_load -T -t hash -f ./account.txt /etc/account.db

建立2中指定的PAM配置文件vsftp.vu来指定虚拟用户的帐号数据(这里指写为3中刚生成的数据库)

# vi /etc/pam.d/vsftp.vu

全部内容如下:

auth required /lib/security/pam_userdb.so db=/etc/account
account required /lib/security/pam_userdb.so db=/etc/account

意义在于指定包含虚拟用户密码的数据库

建立2中指写的虚拟用户登陆所映射的本地用户local_user

# useradd -d /web/ftp local_user

-d是指定添加的用户的根目录,这里指定为/web/ftp

设置目录权限

# chmod 700 /web/ftp

把目录的权限修改为可读写

启动vsftp

# service vsftpd start

然后你可以测试了,网上的教程有些参差不齐,这是我摸索了半天总结的,vsftpd.conf可以进行很详细的设置,这方面资源网上很多,在此就不列举了。

参考:http://www.linuxeden.com/html/newbie/20080604/58272.html

若您觉得我的博文对您有帮助,欢迎点击下方按钮对我打赏
打赏