CentOS–FTP安装与配置

来源:互联网 发布:windows curl post 编辑:程序博客网 时间:2024/05/17 03:23
转:http://shuany.iteye.com/blog/850568 1.安装vsftpdyum install vsftpd2.启动/重启/关闭vsftpd服务器[root@localhost ftp]# /sbin/service vsftpd restartShutting down vsftpd: [ OK ]Starting vsftpd for vsftpd: [ OK ] OK表示重启成功了.启动和关闭分别把restart改为start/stop即可.如果是源码安装的,到安装文件夹下找到start.sh和shutdown.sh文件,执行它们就可以了.3.与vsftpd服务器有关的文件和文件夹vsftpd服务器的配置文件的是: /etc/vsftpd/vsftpd.confvsftpd服务器的根目录,即FTP服务器的主目录:[root@localhost ftp]# more /etc/passwd|grep ftpftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 这样你就能看到FTP的服务器的目录在/var/ftp处如果你想修改服务器目录的路径,那么你只要修改/var/ftp到别处就行了补充:[题记]本文使用CentOS 6.5minimal快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器。意在使用授权FTP用户通过登陆指定的服务器文件夹来上传、下载、修改、更新、删除位于/var/www/html目录内的网站文件。同时又保持SeLinux和iptables防火墙的工作状态,使其得以安全有效的运行。

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器

第一步 启动CentOS6.5
假设你已经安装好了CentOS,虚拟机中或实体服务器。

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器

第二步 登陆系统
# yum install httpd vsftpd mysql mysql-server php php-mysql
为了自己能掌握,所以采取了默认输入y确认安装的方法。

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器

第三步 确认安装列表
# y
回车确认

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器

第四步 设置开机启动
# chkconfig httpd on
配置HTTP服务开机启动。
# chkconfig vsftpd on
配置FTP服务开机启动。
# chkconfig mysqld on
配置MySQL服务开机启动。

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器

第五步 检查服务配置状态
# chkconfig
2、3、4、5启动。

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器

第六步 启动服务
# service httpd start
启动HTTP服务。
# service vsftpd start
启动FTP服务。
# service mysqld start
启动MySQL服务。

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器

第七步配置FTP用户、用户组及相应权限
# groupadd webftp
添加webftp用户组,用来承载我们的FTP授权用户。
# useradd -g webftp -M -d /var/www -s /sbin/nologin wwwer
使用-g参数将它归集到webftp用户组下,-M参数不设置它的主目录(没有-M参数/home里会有个wwwer文件夹,这个文件夹没多少实际用处,所以不用设置),-d参数设定它的初始登入目录为/var/www,-s参数设定它不需要登陆系统/sbin/nologin,它被命名为wwwer(之所以这样命名,也就是根据初始登入目录来设置的,下同,登陆到www目录有一个好处是它可以直接FTP进去修改诸如404一类的页面,而不用其他过程来配置)。
# useradd -g webftp -M -d /var/www/html -s /sbin/nologinhtmler
同样的方法在webftp用户组继续添加用户htmler,它也不设置主目录,也不需要登陆系统,设定它的初始登入目录为/var/www/html。
# passwd wwwer
为wwwer添加密码,两次输入。
# passwd htmler
为htmler添加密码,两次输入。
# chown -R wwwer.webftp /var/www
更改/var/www目录及其下所有文件和文件夹(-R)的所有者为webftp用户组下的wwwer用户。
# chown -R htmler.webftp /var/www/html
同样将/var/www/html目录及其下所有文件和文件夹chown给html。

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器

第八步 不启用匿名用户
# vi /etc/vsftpd/vsftpd.conf
按I键进入编辑模式,找到anonymous_enable=YES,更改YES为NO,然后按ESC键退出编辑,输入“:wq”存盘并退出。

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器

第九步 配置基本安全策略
# getsebool -a | grep ftp
列出所有selinux全部ftp策略。
#setsebool allow_ftpd_full_access on
允许FTP完全访问。
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
插入防火墙规则(CentOS里用-A添加一条规则会处于链表尾,但表尾貌似不起作用,所以用-I插入到链表头),这条规则的意思是所有INPUT到服务器的包,-p如果是tcp协议的,--dport目标端口是80端口的,-j那么就ACCEPT。
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
同样的方法接受所有要到达服务器21端口的tcp包。
# modprobe ip_conntrack_ftp
载入IP连线跟踪模块。记住最后这一步(第九步)的基本安全策略配置在重启后全部失效,你需要重新配置一遍,当然通过修改selinux和iptables的配置文件或serviceiptablessave是可以保持这些策略的。但你应该清晰的认识到一个问题:一个服务器应该总是保持开启状态的,如果服务器重启了,那么只有两种可能,一种是在你的控制之下,一种不在你的控制之下,当服务器重启事件不在你的控制之下时,那么你应该认识到这是很危险的情况,那么刚才那些“放行”的策略应该完全失效而不是继续保持才对。也正因为如此,我想这可能是CentOS这样做的其中一个原因。如果你要添加的规则比较多可以先保存到一个txt文件里,直接cp过来就okay。

CentOS-6.5快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器效果测试
HTTP、FTP测试均已成功,而且我们添加的wwwer和htmler也拥有了对这些文件的有效权限。如果你的网站程序需要某些777的权限,你也可以直接通过FTP修改的。
4.添加FTP本地用户有的FTP服务器需要用户名和密码才能登录,就是因为设置了FTP用户和权限.FTP用户一般是不能登录系统的,只能进入FTP服务器自己的目录中,这是为了安全.这样的用户就叫做虚拟用户了.实际上并不是真正的虚拟用户,只是不能登录SHELL了而已,没能力登录系统./usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftpuser这个命令的意思是:使用命令(adduser)添加ftpuser用户,不能登录系统(-s /sbin/nologin),自己的文件夹在(-d /opt/ftp)),属于组ftp(-g ftp)然后你需要为它设置密码 passwd ftp这样就添加了一个FTP用户了.下面的示例可以帮助你进入FTP服务器了.要保证自己能读写自己的目录,就要在配置文件vsftpd.conf里设置一下就可以读写了.local_enable=yeswrite_enable=yeslocal_umask=0225.匿名上传下载修改配置文件即可vsftpd.conf,确定有以下几行,没有自己添加进去就可以了.anonymous_enable=yesanon_upload_enable=yesanon_mkdir_write_enable=yesanon_umask=022然后你可以新建一个文件夹,修改它的权限为完全开放,任何用户就可以登录这个文件夹,并上传下载文件:mkdir /var/ftp/guestchmod 777 /var/ftp/guest6.定制进入FTP服务器的欢迎信息在vsftpd.conf文件中设置:dirmessage_enable=yes然后进入用户目录建立一个.message文件,输入欢迎信息即可。7.实现虚拟路径将某个目录挂载到FTP服务器下供用户使用,这就叫做虚拟路径.比如将gxl用户的目录挂载到FTP服务器中,供FTP服务器的用户使用,使用如下命令即可:[root@localhost opt]# mount –bind /home/gxl /var/ftp/pub #使用挂载命令[root@localhost opt]# ls /var/ftp/pubLumaQQ Screenshot.png 桌面8.打开vsFTPd的日志功能添加下面一行到vsftpd.conf文件中,一般情况下该文件中有这一行,只要把前面的注释符号#去掉即可,没有的话就添加,或者修改:xferlog_file=/var/log/vsftpd.log9.限制链接数,以及每个IP最大的链接数修改配置文件中,例如vsftp最大支持链接数100个,每个IP能支持5个链接:max_client=100max_per=510.限制传输速度修改配置文件中,例如让匿名用户和vsftd上的用户(即虚拟用户)都以80KB=1024*80=81920的速度下载anon_max_rate=81920local_max_rate=8192011.将用户(一般指虚拟用户)限制在自家目录修改配置文件中,这样用户就只能访问自己家的目录了:chroot_local_user=yes如果只想某些用户仅能访问自己的目录,其它用户不做这个限制,那么就需要在chroot_list文件(此文件一般是在/etc/vsftpd/中)中添加此用户.编辑此文件,比如将test用户添加到此文件中,那么将其写入即可.一般的话,一个用户占一行.[root@localhost vsftpd]# cat chroot_listftpuser12.绑定某个IP到vsFTPd有时候要限制某些IP访问服务器,只允许某些IP访问,例如只允许192.168.0.33访问这个FTP,同样修改配置文件:listen_address=192.168.0.33 配置vsftpd.conf anonymous_enable=NO #禁止匿名 local_enable=YES #允许本地登录 write_enable=YES #允许写,如需上传,则必须 local_umask=027 #将上传文件的权限设置为:777-local_umask anon_upload_enable=YES # 允许虚拟用户和匿名用户上传 anon_other_write_enable=YES #允许虚拟用户和匿名用户修改文件名和删除文件 dirmessage_enable=YES xferlog_enable=YES #打开日志记录 connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log #日志存放位置 xferlog_std_format=YES #标准日志格式 idle_session_timeout=600 #空闲连接超时 data_connection_timeout=120 ftpd_banner=Welcome to ChinaRise FTP service #欢迎信息 guest_enable=yes #允许虚拟用户 guest_username=vsftpdguest #虚拟用户使用的系统账号 virtual_use_local_privs=YES #虚拟用户拥有本地系统权限 chroot_local_user=NO chroot_list_enable=YES #以上两行将虚拟用户限制在其目录下,不能访问其他目录,或者直接用 chroot_local_user=YES listen=yes #监听/被动模式 listen_port=21 #监听端口 chroot_list_file=/etc/vsftpd/vsftpd.chroot_list #虚拟用户名单保存在文件/etc/vsftpd/vsftpd.chroot_list 中 user_config_dir=/etc/vsftpd/vsftpd_user_conf #每个虚拟用户名的更加详细的培植保存在/etc/vsftpd/vsftpd_user_conf 中虚拟用户其他设置 在/etc/vsftpd/vsftpd.chroot_list 文件中写入允许登陆的虚拟用户名称,每行一个 在/etc/vsftpd/vsftpd_user_conf 文件夹中创建一个以虚拟用户用户名命名的文件, 写入: local_root = /var/FTP/子目录名 然后在/var/FTP下创建一个对应的目录即可 ========================================================CentOS下开通Ftp和Telnet服务在安装好CentOS以后,需要设置Ftp和Telnet服务文件,才能启动Ftp和Telnet服务,可以通过远程控制进行开启。1.1、进入终端命令模式,用root用户登录;1.2、开启ftp服务。  cd /etc/xinetd.d ,编辑ftp服务的配置文件gssftp:  vi gssftp ,将 修改两项内容:  (1)server_args = -l –a 去掉-a 改为server_args = -l  (2)disable=yes改为disable=no  (3)保存退出。1.3、开启telnet服务 cd /etc/xinetd.d ,察看telnet服务的配置文件krb5-telnet的设置:$ {! b7 r0 A8 d. z    开启telnet服务设置   vi krb5-telnet ,  (1)将disable=yes,改为disable=no,保存退出。1.4、激活服务:  telnet /ftp 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的telnet /ftp自然也就可以被激活。  激活目录和命令:  cd /etc/rc.d/init.d/  service xinetd restart  有时会提示命令不存在,需要加上命令的路径  [root@localhost init.d]# service xinetd resart  bash: service: command not found  [root@localhost init.d]# /sbin/service xinetd restart 若提示xinetd: 未被识别的服务,则说明/etc/rc.d/init.d下无xinetd包  [root@localhost init.d]# yum -y install xinetd* //下载xinetd包 [root@localhost init.d]# service xinetd resart //重新启动FTP、Telnet服务 这样既可ftp登陆到服务器

0 0