CentOS编译安装vsftpd-2.2.2
作者:Yao2524_420 | 来源:互联网 | 2014-05-28 09:06
Vsftp(VerySecureFTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如ftp.redhat.com,ftp.kde.org,ftp.gnome.org.等。Linux下很多服务器为什么要用vsftpdvsftpd是“verysecureFTPdaemon
Vsftp(Very Secure
FTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如ftp.redhat.com, ftp.kde.org, ftp.gnome.org.等。
Linux下很多服务器为什么要用vsftpd
vsftpd 是“very secure FTP
daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如
Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP
服务器所不支持的特 征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等
(1)、查看是否安装了vsFTPd软件
1、[root@linuxsir001 root]# rpm
-qa | grep vsftpd
如果没有任何显示,说明没有把vsFTPd安装上,如果出现的是下面的这样的提示,就证明已经安装上了。
2、[root@linuxsir001 root]# rpm
-qa | grep vsftpd
vsftpd-2.2
Vsftpd的实现有三种方式:
1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问
2、本地用户形式:以/etc/passwd中的用户名为认证方式
3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服务器中。相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。
安装以及配置:
这个需要注意是否安装了pam。前面我们看到账户使用了pam认证,那么必须有pam的支持。(否则自己建立的账号将无法登录)
(1)、yum install pam-devel db4-utils
用ldd命令可以看到vsftpd是否加载了pam: ldd
/usr/local/sbin/vsftpd(等装好vsftpd 后使用此命令查看一下。)
****************************
[root@localhost home]# ldd /usr/local/sbin/vsftpd
linux-gate.so.1
=> (0x00557000)
libpam.so.0 =>
/lib/libpam.so.0 (0x008a7000)
#看到此行,表示pam安装成功。
libdl.so.2 =>
/lib/libdl.so.2 (0x00249000)
libnsl.so.1 =>
/lib/libnsl.so.1 (0x004af000)
libresolv.so.2 =>
/lib/libresolv.so.2 (0x00516000)
libutil.so.1 =>
/lib/libutil.so.1 (0x0080c000)
libcap.so.1 =>
/lib/libcap.so.1 (0x00509000)
libc.so.6 =>
/lib/libc.so.6 (0x00101000)
libaudit.so.0 =>
/lib/libaudit.so.0 (0x0088b000)
/lib/ld-linux.so.2
(0x0042f000)
**************************** ****
安装
wget
ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.2.2.tar.gz
tar xvzf vsftpd-2.2.2.tar.gz
cd vsftpd-2.2.2
make
make install
cp vsftpd.conf /etc/ //vsftp存放路径
********************************如果存在的话,此下两步就不需要设置了
useradd nobody //增加匿名用户
mkdir /var/ftp //设置共享目录
********************************可以看到,安装的时候是不需要configure的。
****
启动和关闭
启动vsftpd: /usr/local/sbin/vsftpd &
关闭vsftpd pkill vsftpd 或者
killall -9 vsftpd
(vsftpd的日志文件存放在/var/log/目录下,查看vsftpd.log可以查询vsftpd日志,默认情况下是打开的)
-----------------------------
****启动中报错
报错: (1)、500 OOPS: vsftpd: both local and anonymous access
disabled!
解决办法:
查找vsftpd 配置文件,将local_enable=YES 前的#号去除,
重新启动vsftpd
启动好了,以后输入ftp://192.168.1.131
匿名用户就可以访问了。
*****************配置文件存放在(/etc/vsftpd.conf)
禁止匿名用户访问。
anonymous_enable=NO
把anonmous_enable=YES改成NO(禁掉匿名链接,不安全)
*********匿名用户配置
通过以上的几个步骤匿名用户就可以访问了:(只有查看的权限,详细配置说明文件如下,如果配置文件出错,重新复制一份新的配置文件)
anonymous_enable=YES //读权限
anon_upload_enable=YES //增加上传权限
anon_mkdir_write_enable=YES //增加创建目录的权限
anon_umask=022
*************
umask是unix操作系统的概念,umask决定目录和文件被创建时得到的初始权限
umask = 022 时,新建的目录 权限是755,文件的权限是 644
umask = 077 时,新建的目录 权限是700,文件的权限时 600
vsftpd的local_umask和anon_umask借鉴了它
默认情况下vsftp上传之后文件的权限是600,目录权限是700
想要修改上传之后文件的权限,有两种情况
(1)、如果使用vsftp的是本地用户,则要修改配置文件中的 local_umask 的值
(2)、如果使用vsftp的是虚拟用户,则要修改配置文件中的 anon_umask 的值
允许本地用户登录并允许其上传文件。
local_enable=YES
把local_enable=YES前的注释去掉(打开本地用户连接的权限)
write_enable=YES
把write_enable=YES前的注释去掉(打开本地用户的写权限)
3.将本地用户锁定在主目录中,不允许切换到上一级目录中。
chroot_local_user=YES
4.设置本地用户上传的文件或文件夹的umask值。
local_umask=022(默认值为077)
umask的值设为022表示,上传的如果是文件将权限改为644,如果是文件夹将权限改为755。在上传网页时,如果设置为077,就会出现用户没有权限(Permission
denied)访问网页的问题,所以建议将umask的值设为022。
*********************************************************************************匿名用户(只能查看)
*******************
常见的配置
(1)、限制vsFTP服务器限制链接数,以及每个IP最大的链接数?
max_clients=100 //vsftpd最大连接数
max_per_ip=5 //每个IP最大的链接数
(如果配置的文件中没有以上两个,在配置文件最后加入以上两句话就可以了)
(2)、限制传输速度
anon_max_rate=81920 //这是匿名的速度
local_max_rate=81920 //这是vsFTP服务器上本地用户的速度
注:这个数字的单位是byte,所以我们要计算一下。比如我想让匿名用户和vsFTP上的用户都以80KB下载,所以这个数字应该是1024x80=81920
(3)、如何让绑定IP到vsFTPd
listen_address=192.168.0.2(对应的ip地址)
(4)、修改vsfptd目录
1、 对于ftp这个用户的管理,我们应该查看/etc/passwd
,然后修改ftp用户那行: ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
修改成: ftp:x:14:50:FTP User:/opt/ftp:/sbin/nologin
(其中:/opt/ftp是你修改的ftp目录)
2、 创建此目录,并且为此目标增加权限
mkdir
/opt/ftp 和 chomd 755
/opt/ftp 和 chown -R root:root
/opt/ftp
错误代码提示及常用命令:
(1)、530 Login incorrect. 用户名或者密码不正确
(2)、530 permission denied 用户权限不够
(3)、把一个用户增加到一个组里面 : 命令如: adduser
-g 组 用户
(4)、查看这个用户包括或者属于哪个组: 命令如: groups 用户
推荐阅读
-
在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ...
[详细]
蜡笔小新 2024-11-21 11:15:53
-
本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ...
[详细]
蜡笔小新 2024-11-21 17:32:44
-
-
本文探讨了Node.js应用程序在服务器上部署的几种有效方法,包括使用Screen、PM2以及通过宝塔面板进行简易管理。 ...
[详细]
蜡笔小新 2024-11-21 18:58:31
-
对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ...
[详细]
蜡笔小新 2024-11-21 18:30:23
-
本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ...
[详细]
蜡笔小新 2024-11-21 18:13:22
-
本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ...
[详细]
蜡笔小新 2024-11-21 13:41:32
-
本文介绍了多域名SAN SSL证书的概念及其工作方式,探讨其在现代网络安全中的重要性和应用。 ...
[详细]
蜡笔小新 2024-11-21 11:13:17
-
龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ...
[详细]
蜡笔小新 2024-11-21 11:12:28
-
本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ...
[详细]
蜡笔小新 2024-11-21 10:31:32
-
本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ...
[详细]
蜡笔小新 2024-11-21 09:45:56
-
从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ...
[详细]
蜡笔小新 2024-11-21 09:06:54
-
本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ...
[详细]
蜡笔小新 2024-11-20 19:00:01
-
本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ...
[详细]
蜡笔小新 2024-11-20 18:28:16
-
本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ...
[详细]
蜡笔小新 2024-11-20 18:10:53
-
对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ...
[详细]
蜡笔小新 2024-11-21 17:01:54
-
Yao2524_420
这个家伙很懒,什么也没留下!