CentOS 7 安装ftp服务器

928 views

走过很多弯路,就简单点总结。

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

……

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

This entry was posted in FTP, 服务器技术 and tagged , by Charlie. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>