vsftp安装与配置

要在centos上装个ftp,想把sftpserver配置起来,ssh版本不够,升级ssh搞死升不上去,只好作罢,安装另外一个vsftp。

vsftp一开始也是折腾了半天,以下这个是确保可以安装和配置的:

yum install vsftpd pam* db4*-y

实际上还要pam和db4支持,反正安装的时候点y就是了

安装完成后,建立ftp用户

useradd ftpuser -s /sbin/nologin

修改配置文件

vim /etc/vsftpd/vsftpd.conf

最主要是修改匿名登录的配置

anonymous_enable=NO

然后增加以下几个配置

guest_enable=YES //设定启用虚拟用户功能。
guest_username=ftpuser //指定虚拟用户的宿主用户。 就是上面建立的ftp用户
virtual_use_local_privs=YES //设定虚拟用户的权限符合他们的宿主用户。
user_config_dir=/etc/vsftpd/vconf //设定虚拟用户个人Vsftp的配置文件存放路径,这个目录很重要

建立ftp用户配置文件夹和文件

mkdir /etc/vsftpd/vconf/
touch /etc/vsftpd/vconf/vir_user

编辑vir_user文件

vi /etc/vsftpd/vconf/vir_user

然后输入用户名和密码,单数行用户名双数行密码,比如:

xugang
password

生成数据库

db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db

修改权限

chmod 600 /etc/vsftpd/vconf/vir_user.db
chmod 600 /etc/vsftpd/vconf/vir_user

echo “auth required pam_userdb.so db=/etc/vsftpd/vconf/vir_user” > /etc/pam.d/vsftpd
echo “account required pam_userdb.so db=/etc/vsftpd/vconf/vir_user” >> /etc/pam.d/vsftpd

创建用户配置文件,就是刚才vir_user文件里配置的用户

touch /etc/vsftpd/vconf/xugang
vi /etc/vsftpd/vconf/xugang

local_root=/home/xugang
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=1048576

创建用户ftp目录

mkdir /home/xugang
chown ftpuser.ftp /home/xugang
chmod 600 /home/xugang

重启vsftp

service vsftpd restart

本来以为就此成功了,ftp链接报500错误。难道虚拟用户也还是要创建用户,不得已创建了xugang的用户

useradd xugang -d /home/xugang -s /sbin/nologin

登录成功,也许是之前哪里配置错了?不管了,反正能登录了,注意一点是因为之前已经建立了/home/xugang目录,所以创建用户前先删除这个目录。然后修改权限。

发表评论