CentOS 7系统下安装ftp服务器的全过程

在安装配置过程中走过很多弯路,现在就简单点总结。方便大家学习参考。安装步骤如下:

1、安装ftp,相信这步很简单

# yum -y install ftp vsftpd

查看安装情况

#rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf

2、服务器配置

创建ftp根目录 /ftp/private(这里有个不解的问题,如果创建了一个/root/ftp/private的目录,登录时会提示500 OOPS: cannot change directory:/root/ftp/private之类的错误,目前无法解决,希望有知道的朋友解释一下),如果创建一个公开的目录,需要创建/ftp/open并在/etc/vsftpd/vsftpd.conf增加anon_root=/ftp/open

#mkdir /ftp


#mkdir /ftp/private

创建密码明文文件,创建两个用户John,Jack,密码分别是passwxx,passwyy

#vim /etc/vsftpd/pass.txt


John
passwxx
Jack
passwyy

根据明文创建密码DB文件,userlist.db就是用户密码的数据库

#db_load -T -t hash -f /etc/vsftpd/pass.txt \
> /etc/vsftpd/userlist.db

创建vftpd 系统账户 ftp_user

#useradd -d /root/ftp/private -s /sbin/nologin ftp_user


配置用户数据

# vi/etc/pam.d/vsftpd


//将auth及account的所有配置行行均注释掉,添加如下内容:
authrequiredpam_userdb.so db=/etc/vsftpd/userlist
accountrequiredpam_userdb.so db=/etc/vsftpd/userlist

userlist就是/etc/vsftpd/userlist.db的数据库,不过不用加.db后缀,系统自动添加

在/etc/vsftpd/vsftpd.conf 添加一下内容:

#vim /etc/vsftpd/vsftpd.conf
#anon_root=/ftp/open //如果要增加一个公开的文件目录,将注释去掉virtual_use_local_privs=YES
guest_enable=YES
guest_username=ftp_user
chroot_local_user=YES
allow_writeable_chroot=YES

同时将chroot_list_enable=YES,chroot_list_file=/etc/vsftpd/chroot_list注释去掉并将chroot_list_file=/etc/vsftpd/chroot_list
改为chroot_list_file=/ftp

chroot_list_enable=YES
# (default follows)
chroot_list_file=/ftp

启动vsftpd

#systemctl start vsftpd

设置开机启动

#systemctl enable vsftpd

查看vsftpd状态

#systemctl status vsftpd


● vsftpd.service - Vsftpd ftp daemon


 Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)


 Active: active (running) since 六 2017-03-11 22:23:42 CST; 2s ago


 Process: 1094 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)


 Main PID: 1095 (vsftpd)


 CGroup: /system.slice/vsftpd.service


   └─1095 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
3月 11 22:23:42 auto systemd[1]: Stopping Vsftpd ftp daemon...
3月 11 22:23:42 auto systemd[1]: Starting Vsftpd ftp daemon...
3月 11 22:23:42 auto systemd[1]: Started Vsftpd ftp daemon.

本地登录

#ftp localhost
……

其他的如果无法创建文件,修改文件之类的,自行更改相关的目录权限。

总结

相关推荐