热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

RHEL5Linux系统安装配置xinetd,vsFTPd和telnet

今天把新安装的RHEL5重新整了整,发现ftp不能用,telnet也不能用;以为是没开服务servicexinetdrestart一下吧,提示xinetd:未被识别的服务。连xinetd都没装好重新装把。翻了翻安装盘找到了一个xinetd-2.3.13-4.4E.l.i386.rpm。好在有rpm安装还不麻烦

今天把新安装的RHEL5重新整了整,发现ftp不能用,telnet也不能用;以为是没开服务 service xinetd restart 一下吧 ,提示xinetd:未被识别的服务。连xinetd都没装好 重新装把。

翻了翻安装盘 找到了一个xinetd-2.3.13-4.4E.l.i386.rpm。好在有rpm安装还不麻烦 rpm -Uvh xinetd-2.3.13-4.4E.l.i386.rpm就好了 ,再查rpm  -qa | grep xinetd 已经有了。

       然后就是安装vsftpd 找了半天也没找到rpm安装文件,只好去网上找,去http://vsftpd.beasts.org/下了个最新的2.3.4版本的,不过只有源文件没有rpm包,只能自己make了。参考了一下安装和配置vsftp的文章http://apps.hi.baidu.com/share/detail/31305404,按步骤装起来也不是太麻烦

第一步:安装VSFTP 

使用tar.gz源码包安装VSFTP,把下载的源码包放在一个目录下,这里我建一个目
录ftp,所有的操作都在这个目录下进行:
mkdir ftp
把vsftpd-1.2.1.tar.gz复制到目录ftp下:
cp 下载vsftpd-1.2.1.tar.gz放置目录 ftp/
进入ftp目录:
cd ftp
接下来解压:
tar zxvf vsftpd-1.2.1.tar.gz
解压之后ftp目录下多了一个名为vsftpd-1.2.1的目录,进入该目录编译VSFTP:
cd vsftpd-1.2.1
编译:
make
编译之后目录下多了一个可执行文件vsftpd,
#ls -l vsftpd
-rwxr-xr-x 1 root root 77144 4月 13 21:17 vsftpd
这是vsftp的主程序。因为vsftp默认需要使用"nobody"这个用户来配置,所以你必
须确定你的系统中有这个用户,一般说都会有的,但为了明确起见,执行下述命令
添加nobody用户:
#adduser nobody
adduser: user nobody exists
因为我的系统里已经有nobody用户了,所以提示该用户已经存在了。
vsftp默认的配置还需要一个空的目录(empty),该目录的绝对路径应该是
/usr/share/empty/,另外若ftp服务器需要匿名用户(anonymous)需要加一个用户
ftp,此用户的要求这样:用户目录设为/var/ftp,它是VSFTP的匿名用户的映射本
地用户,即指anonymous用户在进程中以ftp用户身分运行 进程,但anonymous用户
并不继承了ftp用户的文件权限,它只拥有其他组的文件权限。可使用下述的命令
完成上面的需求:
#mkdir /var/ftp/
#useradd -d /var/ftp ftp
如果你的系统已经存在有ftp用户的话,使用下面的命令更改目录属主和用户目录:
#chown root.root /var/ftp
#chmod og-w /var/ftp
接下来把编译的文件安装到相应目录:
make install
安装之后,在/usr/local/sbin/目录下有vsftpd这个主程序。
在/etc/xinetd.d下也有一个vsftpd配置文件,这个文件是由xinetd守护进程启动
vsftpd的配置文件。另外你不使用xinetd启动vsftp的话,你应该在/etc/目录下加
一个vsftp的配置文件,默认的文件名为/etc/vsftpd.conf,这个文件你可以手动
编辑,但在我们的源码目录里已经有一个样本配置文件了,可以直接修改这个文件
以满足我们的需求,现在把这个样本配置文件拷贝到这个目录下:
#cp vsftpd.conf /etc/
这样在/etc/下有一个配置文件vsftpd.conf了。
我们来测试一下VSFTP是否能够正常运行,我们采取使用独立进程而不是xinetd来
启动VSFTP,这样要在刚才的文件/etc/vsftpd.conf后面加入一行:
listen=YES
加入之后用下面的命令试试启动VSFTP:
#/usr/local/sbin/vsftpd &
[1] 7208
好了,VSFTP已经启动,进程号为7208。
接下来测试FTP(你应该确定你的机器里没有里别的FTP服务软件运行,否则使用相
同的端口会发生冲突):
# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
OK,FTP服务器运行正常,使用匿名用户ftp登陆成功,你也可以使用anonymous代
替用户名ftp,一样可以成功登陆。

第二步:配置VSFTP

(做这一步的时候貌似不成功,而是修改了/etc/vsftpd.conf 里面的local_enable=YES后重启才可以用本地用户登录的,可能是版本不同吧)
a)使本地用户能登录FTP。按照上面的源码安装配置我们的FTP还不能让本地用户登
录,因为缺少一个认证PAM文件,在源码目录下有一个RedHat/vsftpd.pam认证文
件,把它复制到/etc/pam.d/ftp。
#cp RedHat/vsftpd.pam /etc/pam.d/ftp
测试一下,假设有一个本地用户test,登录FTP:
#ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
看来情况很好:)
b)配置匿名用户有浏览,读写,创建目录权限的FTP。这种配置的FTP是极度不安全
的FTP,但在某些FTP网站上可能希望能匿名用户能上传文件,因此有必要讲解一下:
编辑配置VSFTP的配置文件vsftpd.conf,在文件加入下面几行:
anon_world_readable_Only=NO //关闭匿名用户只读权限,这个选项是控制匿名用
户只能下载具有可读权限的文件,绝不允许有其他权限,特别是写权限,因此要使
匿名用户有写权限,应该禁止它
anon_upload_enable=YES //匿名用户上传权限开放
anon_mkdir_write_enable=YES //匿名用户写和创建目录权限开放
write_enable=YES //这是VSFTP控制用户改变文件系统的权限的选项,若任何用户
要使用改变文件系统命令(如,读写,删除等等操作)都必须使它开放,默认值是NO
OK,保存后退出。
测试:
#ftp127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put mp3.txt
local: mp3.txt remote: mp3.txt
227 Entering Passive Mode (127,0,0,1,25,17)
150 Ok to send data.
226 File receive OK.
682 bytes sent in 0.00885 secs (75 Kbytes/sec)
测试成功,匿名用户已经有了上传的权限。

几点说明:
1, anon_other_write_enable选项可以使匿名用户删除文件目录,一般不开启。
2,匿名用户要拥有上传的权限除应该在上面VSFTP的配置文件里设置几项之外,还
应该使目录的其他组权限有写的权限。
c)其他的几种有用的配置选项。
1,开启ACSII上传下载传输模式
ascii_download_enable=YES //开启了下载时的ASCII模式数据传输
ascii_upload_enable=YES //开启了上传时的ASCII模式数据传输
因为二进制传输不用进行二进制和ASCII码之间的相互转化,因而速度较ASCII模式
快,VSFTP在默认情况下是不开启ASCII码传输模式的,上述两个语句使ASCII上传
下载传输模式分别开启。
2,更改FTP服务器默认监听端口
listen_port=2121 //改变默认的21端口号为2121
3,设置用户会话的空闲中断时间
idle_session_timeout=300 //连接服务器的用户在5分钟时间内没有任何动作将被
断开,默认为300
4,设置空闲的数据连接的中断时间
data_connection_timeout=300 //数据连接空闲5分钟将被断开,默认为300秒
5,设置客户端空闲时的自动中断和激活连接的时间
accept_timeout=60 //客户端建立PASV模式数据连接空闲1分钟自动中断,默认为60秒
connect_timeout=60 //客户端在中断1分钟后自动激活连接,默认为60秒
6,设置最大传输速率限制
local_max_rate=50000 //本地用户最大传输速率为50kbytes/s
anon_max_rate=30000 //匿名用户最大传输速率为30kbytes/s
若把上述的数值设为0则为不限速,这也是VSFTP的默认值。
7,设置最大客户端连接数
max_clients=30 //服务器最大连接数设为30,默认为0,即不加以限制,安全的
FTP应该加以限制
8,设置客户端连接时的端口范围
pasv_min_port=50000
pasv_max_port=60000
上述语句使客户端连接端口范围在50000至60000之间,这有利于提高服务器的安
全。默认两个值都是0,即不限制,使用任意端口。
9,把用户限制在家目录,即设置chroot()
chroot_local_user
chroot_list_enable
chroot_list_file
要设置chroot(),可以使用
chroot_local_user=YES
上述语句是使全部的本地用户都被限制在家目录,这无法只限制特定的用户,要限
制特定用户,使用下面的方法:
chroot_local_user=NO //关闭本地用户chroot()
chroot_list_enable=YES //开启要设置chroot()用户项
chroot_list_file=/etc/vsftpd.chroot_list //指定要设置chroot()的特定用户
文件,这个文件的格式应该每个用户名占用一行
11,开启进站或进入目录的欢迎或说明性文字
dirmessage_enable=YES //开启目录文字选项
message_file=.welcome //欢迎或说明性文字文件设为.welcome,在默认是.message
这样在目录下建立文件.welcome(默认是.message),在用户进入目录时可把该文件
的内容显示出来。
10,开启FTP服务器的日志功能
xferlog_enable=YES //启动日志记录功能,记录在xferlog_file指明的文件里
xferlog_file=/var/log/ftp.log //日志记录在文件/var/log/ftp.log里,默认值
为/var/log/xferlog
上面不是默认配置,默认配置是如下语句
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log //日志记录在/var/log/vsftpd.log里,
默认也是这个文件
默认配置xferlog_std_format语句没有启用。
d)配置基于用户的访问控制

有两种方法:
A)使用认证文件,前面我们让本地用户能够登录服务器的时候是使用源码树里的一
个样本pam文件(RedHat/vsftpd.pam),把它复制到/etc/pam.d/目录下并改名为ftp
就可使本地用户登录,改名为ftp的原因是VSFTP默认的pam认证文件名为ftp,但我
们可以使用下面的语句来改变
pam_service_name=vsftppam //这样设置后VSFTP使用/etc/pam.d/vsftppam文件来
认证用户
回来主题,应该如何使本地用户不能登录呢?回想到原来本地用户不能够登录是因
为没有ftp这个认证文件,那么我们把它删除就可以了。
B)使用VSFTP相关的几个语句
userlist_enable
userlist_deny
userlist_file
用这三个语句可以控制指定用户不能登录,方法如下:
userlist_enable=YES //用户清单功能开启
userlist_deny=YES //把用户清单设为拒绝用户清单
userlist_file=/etc/vsftpd.user_list //用户清单文件为
/etc/vsftpd.user_list,这个文件的格式也是一个用户名占用一行
因为第二个语句把文件/etc/vsftpd.user_list设为拒绝用户清单,那么,文件里
面的用户名都不能登录。
或是另外一种设置方法:
userlist_enable=YES //用户清单功能开启
userlist_deny=NO //把用户清单设为接受用户清单
userlist_file=/etc/vsftpd.user_list //用户清单文件为/etc/vsftpd.user_list
因为第二个语句把文件/etc/vsftpd.user_list设为接受用户清单,那么,文件里
面的用户名都能登录,不在文件里的用户不能登录。
从这里可以看出userlist_deny语句起了开关的作用,可把用户清单文件设为拒绝
或是接受,是不是很有趣?:)

e)配置安全的匿名FTP站点。要求匿名用户只有浏览和下载权限,没有其他的用户。
通过上面的学习,配置这种常见的匿名FTP站点很容易:
首先,把本地用户禁止登录,可以使用上面介绍的方法,这里不再复述。
然后,确定把下面的语句设为下面的样例:
anon_world_readable_Only=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
write_enable=NO
这样做之后,就能有一个满足要求的FTP站点了,其实只要设
anon_world_readable_Only=YES也可以做到上述效果的了。

f)上面讲述的启动服务器的方法是都是以独立(standalone)进程的方式启动的,还
有一种启动VSFTP的方法,就是使用超级服务器xinetd启动,这两种方法的区别
是,xinetd的启动使支持的并发进程比独立进程方式启动少,不适合访问人数多的
大站点,一般如果访问的流量少可以使用xinetd启动,如果是访问的流量多应该以
独立方式启动。好了,下面介绍以xinetd启动的方法:
编辑/etc/vsftpd.conf把原来加入的listen=YES这行删除,或前面加注释#
编辑/etc/xinetd.d/vsftpd(这个文件在源码安装时已经被复制存在了),确定这行
值为NO:
disable= NO
执行下面的命令重启xinetd服务器:
#service xinetd restart
Stopping xinetd: [ OK ]
Starting xinetd: [ OK ]
#ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 1.2.1)
Name (127.0.0.1:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
成功通过xinetd启动VSFTP了。 

至于telnet嘛 后来发现/etc/xinetd.d/ 里面有ekrb5-telnet 和krb5-telnet 前面那个是加密的,就把后面的那个krb5-telnet里面改成disable=no 再service xinetd restart 一下就都可以用了 

不过最后发现 ftp已经可以用了 但是service vsftpd restart 还是说为识别的服务  难道不用rpm装就不识别么?


推荐阅读
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • SpringBoot uri统一权限管理的实现方法及步骤详解
    本文详细介绍了SpringBoot中实现uri统一权限管理的方法,包括表结构定义、自动统计URI并自动删除脏数据、程序启动加载等步骤。通过该方法可以提高系统的安全性,实现对系统任意接口的权限拦截验证。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了新款奇骏的两个让人上瘾的功能,分别是智能互联系统和BOSE音响。通过对新款奇骏的配置和功能进行评测,探讨了这两个新增功能的使用体验和优势。此外,还介绍了新款奇骏的其他配置和改进,如增加的座椅和驾驶辅助系统,以及内饰的舒适性提升。对于喜欢音响的消费者来说,BOSE音响的升级也是一个亮点。最后,文章提到了BOSE音响的数字还原能力,以及7座版无法配备BOSE音响的原因。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 信息安全等级保护是指对国家秘密信息、法人和其他组织及公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的信息安全产品实 ... [详细]
  • 无线认证设置故障排除方法及注意事项
    本文介绍了解决无线认证设置故障的方法和注意事项,包括检查无线路由器工作状态、关闭手机休眠状态下的网络设置、重启路由器、更改认证类型、恢复出厂设置和手机网络设置等。通过这些方法,可以解决无线认证设置可能出现的问题,确保无线网络正常连接和上网。同时,还提供了一些注意事项,以便用户在进行无线认证设置时能够正确操作。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文详细介绍了相机防抖的设置方法和使用技巧,包括索尼防抖设置、VR和Stabilizer档位的选择、机身菜单设置等。同时解释了相机防抖的原理,包括电子防抖和光学防抖的区别,以及它们对画质细节的影响。此外,还提到了一些运动相机的防抖方法,如大疆的Osmo Action的Rock Steady技术。通过本文,你将更好地理解相机防抖的重要性和使用技巧,提高拍摄体验。 ... [详细]
  • 本文详细介绍了华为4GLTE路由器B310的外置天线安装和设置方法。通过连接电源和网线,输入路由器的IP并登陆设置页面,选择手动设置和手动因特网设置,输入ISP提供商的用户名和密码,并设置MTU值。同时,还介绍了无线加密的设置方法。最后,将外网线连在路由器的WAN口即可使用。 ... [详细]
author-avatar
云上的浮游_154
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有