概述
FTP 是目前INTERNET上流行的数据传送方式之一,利用FTP我们可以在FTP和服务器之间进行双向数据传输,而不必考虑操作系统的差异.
一 安装FTP
对于Linux系统来说vsftpd是一个比较不错的选择 . 首先确保系统中已经安装了vsftpd软件 可用
[root@localhost ~]# rpm -qa |grep vsftpd
vsftpd-2.0.5-12.el5 提示已经安装了
如果没有安装 可挂载光盘 进行安装 .同样的我们也可以选择安装rpm包,或者是源码包
[root@localhost ~]# /usr/sbin/vsftpd start 开启FTP服务
[root@localhost ~]# ftp 127.0.0.1 进入FTP
Connected to 127.0.0.1.
Name (127.0.0.1:root): anonymous 以匿名用户登陆
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> help 键入help 打开命令帮助
二 FTP相关文件说明
其相关配置文件有/etc/vsftpd/vsftpd.conf, /etc/vsftpd.ftpusers, /etc/vsftpd.user_list,在配置FTP服务器时,主要是修改这些文件中的相关语句.
1 vsftpd.conf
2.vsftpd.ftpusers文件说明
这个文件是用来记录"不允许"登录到FTP服务器的用户 (每个用户独占一行)
root
bin
daemon
adm
lp
sync
shutdown
halt
3.vsftpd.user_list文件说明
userlist_deny =yes 表示 该文件中的用户不可访问FTP服务器
userlist_deny =no 表示仅该文件中的用户可以访问FTP服务器
root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
nobody
三 FTP 的安全
FTP 才用明文传输 ,可用抓包工具提取用户名和密码,是不安全的可用以下两种方式保证FTP传输的安全
1. 加密访问
为FTP服务器申请证书 保证数据传输和用户登录采用加密的方式 依次来确保FTP的安全
(1) 为FTP申请证书
再次不再说明
(2) 为了确保FTP使用加密访问 ,需要在vsftpd.conf中添加一下内容
ssl_enable=YES 开启ssl验证
ssl_tlsv1=YES 采用tfs v1版本验证
rsa_cert_file= 证书文件路径
rsa_private_key_file= 私钥文件路径
force_local_logins_ssl=YES 强制使用登陆加密
force_local_data_ssl=YES 强制使用数据传输加密
(3) 使用专用的FTP客户端 测试连接
再次采用Flashfxp 设置如下:
2 虚拟账号登陆
(1) 编辑/etc/vsftpd/vsftpd.conf 添加一下几行
pam_service_name=vsftpd.vu pam接口文件 /etc/pam.d/下
guest_enable=YES 开启虚拟账号模式
guest_username=user1 虚拟账号映射为user1
user_config_dir=/etc/vsftpd/config 个人配置文件 若要设置虚拟账号上传,创 建目录,修改文件和目录名 需要此行
(2) 生成vsftpd.vu
创建虚账号文件
vim /etc/vsftpd/viruser.txt 编辑此文件添加虚拟账号
zhangsan
123
test1
123
利用账号产生数据文件
rpm -ivh db4-utils-4.3.29-9.fc6 安装db_load 命令包含的包
db_load -T -t hash -f viruser.txt viruser.db 产生数据文件
生成vsftpd.vu文件
cd /etc/cd /etc/pam.d/
cp -p vsftpd vsftpd.vu
vim vsftpd.vu 编辑此文件添加验证
auth required pam_userdb.so db=/etc/vsftpd/viruser
account required pam_userdb.so db=/etc/vsftpd/viruser
(3) 设置个人配置文件 实现虚拟账号上传,改名功能
编辑 vsftpd.conf添加
user_config_dir=/etc/vsftpd/config
创建配置文件 以虚拟用户名创建文件
mkdir /etc/vsftpd/config
vim /etc/vsftpd/config/zhangsan
anon_upload_enable=YES 上传
anon_mkdir_write_enable=YES 创建文件夹
anon_other_write_enable=YES 修改名字
四 设置为非独立进程
编辑/etc/vsftp/vsftpd.conf
#listen=yes 禁用独立进程
在/etc/xinetd.d/下新建 vsftp文件 键入一下内容
vim /etc/xinetd.d/vsftp
service ftp
{
disable = no 开启监听
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd vsftp服务命令目录
banner_fail = /etc/vsftpd.busy_banner 失败日志
log_on_success += PID HOST DURATION
log_on_failure += HOST
access_times = 8:30-20:00 时间控制
only_from = 192.168.100.1 主机控制
no-access = x.x.x.x 主机控制
per_source = x 每个主机连接数
instances = x 总连接数
}
重启守护进程 测试21 端口是否开启
service xinetd restart
netstat -tupln |grep 21
anonymous_enable=YES 是否允许anonymous登录FTP服务器
local_enable=YES 是否允许本地用户登录FTP服务器#
write_enable=YES 用户是否具有在FTP服务器文件写的权限local_umask=022 本地用户文件的屏蔽位
#anon_upload_enable=YES 是否允许匿名用户上传
#anon_mkdir_write_enable=YES 是否允许匿名账户创建目录
dirmessage_enable=YES 目录信息,用户更改目录时,将出现提示信息
xferlog_enable=YES 启用上传和下载日志功能
connect_from_port_20=YES 启用FTP数据端口的连接请求
#ascii_download_enable=YES 是否允许使用ASCII格式来上传和下载文件
#ftpd_banner=Welcome to blah FTP service. FTP服务器中设置登陆信息
#deny_email_enable=YES 是否允许以邮箱为密码
#banned_email_file=/etc/vsftpd.banned_emails 设置用户以邮箱为登陆控制文件中为禁止
#chroot_list_enable=YES 是否允许用户切换家目录
#chroot_list_enable=YES 设置用户控制切换家目录
#chroot_list_file=/etc/vsftpd.chroot_list 文件中的为禁止切换
pam_service_name=vsftpd 设置PAM认证服务的配置文件名称userlist_enable=YES 列表中的用户是否允许登录FTP服务器listen=YES 设置vsftpd 处于独立启动模式
tcp_wrappers=YES 使用tcp_wrqppers作为主机访问控制方式
其他设置
转载于:https://blog.51cto.com/zyfhlegend/677656
最后
以上就是典雅小蝴蝶为你收集整理的Redhat配置FTP服务器的全部内容,希望文章能够帮你解决Redhat配置FTP服务器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复