linux ftp 搭建和相关问题解决
1. 查看是否安装vsftp
rpm –qa|grep vsftpd
如果出现 vsftpd-2.0.5-16.el5_5.1 说明已经安装 vsftp
安装vsftp
yum -y install vsftpd
2. 测试是否安装成功(ip 改成自己啊,不要用俺的此次登录为匿名登录 user: anonymous 密码为空 如果成功登录会有下面内容 这说明vsftpd安装成功)如果没有ftp命令,请运行yum install -y ftp
[root@localhost ~]#service vsftpd start
为 vsftpd 启动 vsftpd:[确定]
[root@localhost ~]#ftp 127.0.0.1
Connected to127.0.0.1.
220 (vsFTPd 2.0.5)
530 Please loginwith USER and PASS.
530 Please loginwith USER and PASS.
KERBEROS_V4 rejectedas an authentication type
Name(127.0.0.1:root): anonymous
331 Please specifythe password.
Password:
230 Loginsuccessful.
Remote system typeis UNIX.
Using binary mode totransfer files.
ftp> bye
221 Goodbye.
[root@localhost ~]#
3. 修改配置文件/etc/vsftpd/vsftpd.conf
[root@localhost ~]#vi /etc/vsftpd/vsftpd.conf
取消下面内容前面的注释或添加
anonymous_enable=YES/NO 是否允许匿名用户访问
chroot_list_enable=YES 限定用户不可以离开主目录
chroot_list_file=/etc/vsftpd/chroot_list
loca_enable=YES/NO 本地用户是否可以访问 注:如果为NO 则所有虚拟用户都将不能访问原因:虚拟用户访问在主机上其实是以本地用户访问的
pam_service_name=vsftpd pam认证文件名在/etc/pam.d/vsftpd
guest_enable=YES 启用虚拟用户功能
guest_username=ftp 指定虚拟用户的宿主用户 –centos 里面已经有内置的ftp用户了(注:此用户在chroot_list_file=/etc/vsftpd/chroot_list文件里所指定的用户)
user_config_dir=/etc/vsftpd/vuser_conf 设置虚拟用户个人vsftp的服务配置文件
(此文件后面不能出现空格)
4. 查看是否安装 db4 db4-utils
[root@localhost ~]#rpm -qa|grep db4 运行后出现下面内容 说明已经安装可以使用db_load命令(主要是 db4-utils)
db4-devel-4.3.29-10.el5_5.2
db4-4.3.29-10.el5_5.2
db4-devel-4.3.29-10.el5_5.2
db4-4.3.29-10.el5_5.2
db4-tcl-4.3.29-10.el5_5.2
db4-utils-4.3.29-10.el5_5.2
[root@localhost ~]#
如果没安装则要安装db4-utils
4.1安装db4-utils
[root@localhost ~]#yum -y install db4-utils
5. 创建 chroot_list_file=/etc/vsftpd/chroot_list文件
[root@localhost ~]#vi /etc/vsftpd/chroot_list (编辑文件把 /etc/vsftpd/vsftpd.conf 中guest_username的值写到文件中本例中为 ftp)
或者直接按下面进行操作
[root@localhost ~]#touch /etc/vsftpd/chroot_list
[root@localhost ~]# echoftp >> /etc/vsftpd/chroot_list (此处ftp 也要是/etc/vsftpd/vsftpd.conf中的guest_username的值)
6. 创建虚拟用户目录(密码文本)
[root@localhost ~]#vi /etc/vsftpd/vftpuser.txtx (奇数行为用户名 ,偶数行为密码)
本文中添加如下(用cat 命令查看)
[root@localhost ~]#cat /etc/vsftpd/vftpuser.txtx
hope
hope
aa
zzzzz
[root@localhost ~]#
7.生成虚拟用户的db文件
[root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/vftpuser.txtx /etc/vsftpd/vftpuser.db
8. 生成虚拟用户的认证文件
[root@localhostvsftpd]# vi /etc/pam.d/vsftpd
#%PAM-1.0
session optional pam_keyinit.so force revoke
auth required pam_listfile.so item=user sense=denyfile=/etc/vsftpd/ftpusers onerr=succeed
auth required pam_shells.so
auth include system-auth
account include system-auth
session include system-auth
session required pam_loginuid.so
注释掉/etc/pam.d/vsftpd中所有的内容 反正已经不要本地用户的认证了
特别注意 以下区别
32位系统增加以下两句:
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser
64位系统增加以下两句:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.sodb=/etc/vsftpd/vftpuser
这里我发现加了db后缀以后就不识别数据库了,51cto大大的一篇教程里面就是加了db,结果完全读不了数据库,当然也就不能认证啦。
注:db=/etc/vsftpd/vftpuser 中的vftpuser 是你生成的虚拟用户的db文件
9. 创建每个虚拟用户自己的配置文件,配置文件的路径是/etc/vsftpd/vsftpd.conf中的
user_config_dir=/etc/vsftpd/vuser_conf路径
在 /etc/vsftpd/vuser_conf/下面创建以用户名为名称的文件(名称是/etc/vsftpd/vftpuser.txtx 下面的奇数行)
[root@localhostvsftpd]# cat /etc/vsftpd/vftpuser.txtx
hope
hope
aa
zzzzz
[root@localhostvsftpd]# mkdir vuser_conf
[root@localhostvsftpd]# vi /etc/vsftpd/vuser_conf/hope
内容如下
local_root=/var/www(虚拟用户的根目录根据实际修改)
write_enable=YES (可写)
download_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
10. 给文夹权限(否则不能上传 权限可自定 本人给的是 777)
[root@localhostvsftpd]# chmod 777 /var/www/
11. 重启vsftpd
[root@localhostvsftpd]# service vsftpd restart
到此安装配置完成 如果出现连接被 同位体重置 或其它错误 请查看SELinux的当前模式
12. 登录测试
[root@localhost vsftpd]# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as anauthentication type
Name (127.0.0.1:root): hope
331 Please specify the password.
Password:
500 OOPS: cannot changedirectory:/var/www
Login failed.
ftp>
查看方法
[root@localhost vsftpd]# getenforce
Enforcing 如果出现(Enforcing )
关闭方法:[root@localhost vsftpd]#setenforce 0(0|1 开|关)
再次测试 登录成功
[root@localhost vsftpd]# chmod 777/var/www/
[root@localhost vsftpd]# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 2.0.5)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as anauthentication type
Name (192.168.1.107:root): hope
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
查看系统是多少位的命令
[root@bogon ~]# getconf LONG_BIT
64 (64|32)
一般windows访问ftp服务器的话可能出现的问题有没有权限的问题,在鸟哥的linux服务器架构篇里面就有解决办法
如同
前言谈到的, FTP 使用两个埠口,加上常有随机启用的数据流埠口,以及被动式联机的
服务器埠口等, 所以,你可能得要进行:
加入 iptables 的 ip_nat_ftp, ip_conntrack_ftp 两个模块
开放 port 21 给因特网使用
开放前一小节提到的 port 65400~65410 埠口给 Internet 联机用
[root@www ~]# vim /etc/vsftpd/vsftpd.conf
# 增加底下这几行即可啊!
pasv_min_port=65400
pasv_max_port=65410
[root@www ~]# /etc/init.d/vsftpd restart
加入模块:虽然 iptables.rule 已加入模块,不过系统档案还是修改一下好
了:
[root@www ~]# vim /etc/sysconfig/iptables-config
IPTABLES_MODULES="ip_nat_ftp ip_conntrack_ftp"
# 加入模块即可!两个模块中间有空格键隔开!然后重新启动 iptables 服务
啰!
[root@www ~]# /etc/init.d/iptables restart
# 2. 修改 iptables.rule 的脚本如下:
[root@www ~]# vim /usr/local/virus/iptables/iptables.rule
iptables -A INPUT -p TCP -i $EXTIF --dport 21 --sport 1024:65534 -j
ACCEPT
# 找到上面这一行,并将前面的批注拿掉即可!并且新增底下这一行喔!
iptables -A INPUT -p TCP -i $EXTIF --dport 65400:65410 --sport
1024:65534 -j ACCEPT
重启防火墙就可以了
linux ftp 搭建和相关问题解决的更多相关文章
- linux ftp 安装及相关命令
1.VSFTP简介 VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全. 安全性是编写VSF ...
- 【linux】 LINUX FTP搭建
1.安装ftp服务 yum install vsftpd 2.编辑配置文件 vsftpd的配置文件有三个,分别是:/etc/vsftpd/vsftpd.conf/etc/vsftpd/ftpusers ...
- Apache虚拟主机的搭建及相关问题解决
在开发的过程中,很多时候项目的部署都需要在本地进行虚拟服务器的模拟搭建,所以具体的配置流程为下,并且把自己遇到的问题跟大家分享. 1.Apache配置文件httpd.conf 找到 # Virtu ...
- 线下AWD平台搭建以及一些相关问题解决
线下AWD平台搭建以及一些相关问题解决 一.前言 文章首发于tools,因为发现了一些新问题但是没法改,所以在博客进行补充. 因为很多人可能没有机会参加线下的AWD比赛,导致缺乏这方面经验,比如我参加 ...
- CTFd平台搭建以及一些相关问题解决
CTFd平台搭建以及一些相关问题解决 一.序言 因为想给学校工作室提高一下学习氛围,随便带学弟学妹入门,所以做了一个ctf平台,开源的平台有CTFd和FBCTF,因为学生租不起高端云主机所以只能选择占 ...
- 【转】Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍
Linux环境搭建FTP服务器与Python实现FTP客户端的交互介绍 FTP 是File Transfer Protocol(文件传输协议)的英文简称,它基于传输层协议TCP建立,用于Interne ...
- 在Linux中搭建一个FTP服务器
在Linux中搭建一个ftp服务器,以供两个工作小组保管文件使用.禁用匿名.第一个小组使用ftp账号:ftp1,工作目录在:/var/ftp/ftp1:第二个小组使用ftp2,工作目录在:/var/f ...
- Linux FTP服务器搭建与使用
一.vsftpd说明 LINUX下实现FTP服务的软件很多,最常见的有vsftpd,Wu-ftpd和Proftp等.Red Hat Enterprise Linux中默认安装的是vsftpd. 访问F ...
- linux上搭建ftp
linux上搭建ftp 重要 解决如何搭建ftp 解决用户指定访问其根目录 解决访问ftp超时连接 解决ftp主动连接.被动连接的问题 1.安装ftp ...
随机推荐
- Theme Section - HDU 4763(KMP)
题目大意:给你一个串,从这个串里面找出一个前缀后缀中间相等的串的最大长度也就是 EAEBE,每个字母都代表一个串,E出现了三次,找出最长的那个E. 分析:我们知道KMP里面保存的就是前缀和后缀的最 ...
- linux —— shell 编程(整体框架与基础笔记)
导读 关于shell编程基础的学习,网上有很多资源,如果在校图书馆应该也有一些教程,所以这里对于零碎的基础不做详细记录,而只是对一些常用的概念.命令与操作做一个简要的记录,以备方便查找. (本文所有语 ...
- OpenMP并行程序设计
1.fork/join并行执行模式的概念 2.OpenMP指令和库函数介绍 3.parallel 指令的用法 4.for指令的使用方法 5 sections和section指令的用法 1.fork/j ...
- opencv2对读书笔记——使用均值漂移算法查找物体
一些小概念 1.反投影直方图的结果是一个概率映射,体现了已知图像内容出如今图像中特定位置的概率. 2.概率映射能够找到最初的位置,从最初的位置開始而且迭代移动,便能够找到精确的位置,这就是均值漂移算法 ...
- Qt 学习之路 :Qt 模块简介
Qt 5 与 Qt 4 最大的一个区别之一是底层架构有了修改.Qt 5 引入了模块化的概念,将众多功能细分到几个模块之中.Qt 4 也有模块的概念,但是是一种很粗的划分,而 Qt 5 则更加细化.本节 ...
- Python之路,Day12 - 那就做个堡垒机吧
Python之路,Day12 - 那就做个堡垒机吧 本节内容 项目实战:运维堡垒机开发 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多 ...
- JS HTML 单引号与双引号
JS中,单引号和双引号其实没啥区别,看你自己习惯了. 但若双引号中再使用双引号,我们可采取"外双内单"或者"外单内双"的格式,当然如果需要的是双引号本身,则只能 ...
- 学习CSS一些事(上)
p.s:这是我在学习中总结出来知识,如有不对,请多包涵.谢谢. CSS样式:行内样式,内部样式,外部样式,他们的优先级是:行内,内部,外部,遵循就近原则. 一.HTML+CSS布局分为三大类,一是流式 ...
- jsonp Ajax跨域请求
什么是JSONP? JSONP(JSON with Padding)是一个非官方的协议,它允许在服务器端集成Script tags返回至客户端,通过javascript callback的形式实现跨域 ...
- 总结Linux下查看流量工具
Linux服务器要查看带宽情况,可以使用nethogs.dstat.nload.iftop.ifstat工具. 而每个工具都有自己的特色,这里简单总结一下使用方法. 一.nethogs 查看这台设备上 ...