centos 7搭建ftp服务器详细教程(Linux入门-CentOS7安装vsftp)
centos 7搭建ftp服务器详细教程(Linux入门-CentOS7安装vsftp)listen=yes加入收藏# service vsftpd restart Shutting down vsftpd: [FAILED] Starting vsftpd for vsftpd: 500 OOPS: vsftpd: not configured for standalone must be started from inetd [FAILED]需要在配置文件/etc/vsftpd/vsftpd.conf里新增local_root=/home/vsftpd/ftp1 write_enable=YES anon_world_readable_only=NO anon_upload_enab
前言
vsftpd是用于类Unix系统(包括Linux)的FTP服务器。那怎么搭建呢?请看下文在CentOS7 64位进行安装。
为了调试顺利,关闭selinux,防火墙iptables
一.yum安装vsftp
# yum -y install vsftpd
二.启动服务
# systemctl start vsftpd.service
三.配置文件
/etc/vsftpd/vsftpd.conf
四.配置部署
1、备份配置文件 修改配置文件
# cd /etc/vsftpd/
# cp vsftpd.conf vsftpd.conf.bak
# echo '' > vsftpd.conf
# vim /etc/vsftpd/vsftpd.conf
2、配置文件内容(虚拟用户必须关闭虚拟用户anonymous_enable=NO)
anonymous_enable=NO
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
use_localtime=YES
local_enable=YES
allow_writeable_chroot=YES
xferlog_enable=YES
local_umask=022
pam_service_name=vsftpd
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=120
data_connection_timeout=120
guest_enable=YES
guest_username=ftpuser
user_config_dir=/etc/vsftpd/vuser_conf
virtual_use_local_privs=YES
pasv_min_port=10060
pasv_max_port=10090
accept_timeout=5
connect_timeout=1
3、创建宿主用户
- 创建用户 ftpuser 指定 /home/vsftpd 目录
# useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser
- 设置用户 ftpuser 的密码
# passwd ftpuser
- 把 /home/vsftpd 的所有权给ftpuser.root
# mkdir -p /home/vsftpd
# chown -R ftpuser.root /home/vsftpd
4、建立虚拟用户文件
# touch /etc/vsftpd/vuser_passwd
# 编辑虚拟用户名单文件:(
# 第一行账号,第二行密码,注意:不能使用root做用户名,系统保留)
# vi /etc/vsftpd/vuser_passwd
# 编辑内容,下面是 vuser_passwd 内容
ftp1
12345678
ftp2
12345678
保存退出
5、生成虚拟用户数据文件
# db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
# chmod 600 /etc/vsftpd/vuser_passwd.db
6、创建用户配置
# mkdir /etc/vsftpd/vuser_conf # 建立虚拟用户个人vsftp的配置文件
# cd /etc/vsftpd/vuser_conf # 进入目录
# touch ftp1 ftp2
每个文件(ftp1和ftp2写入如下内容,local_root=/home/vsftpd/ftp1#这里写入这个用户的实际存储路径)
local_root=/home/vsftpd/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
7、创建用户目录
# mkdir -p /home/vsftpd/ftp1
# mkdir -p /home/vsftpd/ftp2
8、配置登录用户
# vi /etc/vsftpd/chroot_list
ftp1
ftp2
9、服务启动、停止、状态命令
# systemctl restart vsftpd.service # 重启服务
# systemctl start vsftpd.service # 启动服务
# systemctl status vsftpd.service # 服务状态查看
10、生成虚拟用户的PAM文件
# cd /etc/pam.d/
备份vsftpd文件
# cp vsftpd vsftpd.bak
修改vsftpd文件内容(加入第二和第三行,下面的都全部注释,注意下面是64位操作系统,如果是32位的话lib64需要改成lib)
#%PAM-1.0
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include password-auth
#account include password-auth
#session required pam_loginuid.so
#session include password-auth
Centos6 安装遇到的问题
- Centos6 启动vsftp服务命令
# service vsftpd restart
- Centos6 启动报错500 OOPS: unrecognised variable in config file: allow_writeable_chroot
# service vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: 500 OOPS: unrecognised variable in config file: allow_writeable_chroot
[FAILED]
查看版本
# vsftpd -version
vsftpd: version 2.2.2
不支持,需要在配置文件/etc/vsftpd/vsftpd.conf屏蔽这个配置项
- Centos6 启动报错500 OOPS: vsftpd: not configured for standalone must be started from inetd
# service vsftpd restart
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: 500 OOPS: vsftpd: not configured for standalone must be started from inetd
[FAILED]
需要在配置文件/etc/vsftpd/vsftpd.conf里新增
listen=yes
加入收藏