要在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目录,所以创建用户前先删除这个目录。然后修改权限。