用CentOS搭建文件服务器
但是,据最近一次,国外科技网站w3techs的数据显示,截止到2010年7月28日,CentOS以高达316%的份额占据了Linux Web服务器的榜首,第二和第三分别是Debian和Red Hat。也就是说,在每十个基于Linux的Web服务器当中,就有三个CentOS,两个半Debian和一个半RHEL。
2009年10月-2010年7月Linux Web服务器市场份额(W3Techs统计)
虽然说,CentOS并不算是一个流行的Linux发行版,在各种热门Linux发行版的排行上都没什么特别好的排名;CentOS也是一个丝毫没有个性的发行版——它根本就是和Red Hat企业级Linux一模一样的。虽然如此,但是在作为Web服务器运行的Linux当中,CentOS却是毫无悬念的No 1。
CentOS为何会如此受用呢?
首先,应该是“Cost(成本)”的原因。既然,CentOS发行版和Red Hat企业级Linux几乎是一模一样的,那么,如果在没有特别需求的情况下,为何不用免费的CentOS呢?况且在美国,RedHat的价格大约是每个服务器每年1000美元,而在国内,大规模的企业,价格更是到了每台服务器每年上万甚至数十万元之间,不是谁都愿意承担这笔费用的。
其次,是由于CentOS在性能和功能等各方面表现都非常优秀。与RedHat非常相似,CentOS在数据中心里面很受欢迎,因为它容易架设、以及后期的维护和管理。CentOS属于社区维护的操作系统,甚至很多新颖的特性,都会首先在这款系统上试用,成熟了之后,才会选择植入其付费的企业版操作系统。
下面编者将安装这款操作系统,并同时用这款操作系统搭建一台常用的文件服务器。
CentOS 55桌面
第2页:图形化安装过程(一)
图形化安装过程(一)
CentOS的安装界面分为图形模式和文本模式两种。这里,很多人会选择文本安装模式,并且选择命令模式来操控系统,这样可以为系统节省很多资源。这里编者特别地来体验一下图形模式安装。单击回车键即可开始安装。
安装初始界面
随后,你可以选择光盘安装或者是硬盘安装,进入图形安装界面。
下面的几个步骤,与其他系统安装过程无异:选择系统语言、键盘布局、创建分区、网络设备、时钟以及用户名和密码等。当然,你可以进行在“网络设备”进行手工设置,配置主机名以及其他设置。这里,编者选择系统安装完成之后,通过VI进行配置。
网络设备
系统配置完成,单击“下一步”开始安装CentOS 55
第3页:图形化安装过程(二)
图形化安装过程(二)
系统安装完成之后,需要重新引导。之后,系统还要进行几项基本设置。
欢迎界面
确认是否启用防火墙,同时选择信任的服务
SELinux设置
同时,系统需要你进行当前时间的校对和用户及密码的设置。自此,系统安装才算完成。
第4页:安装Samba
安装Samba
完成CentOS 55系统安装之后,下面开始今天的主要任务:通过Samba服务器来构建文件服务器。
在我们使用Windows作为客户机的时候,通常有文件、打印共享的需求。作为Windows网络功能之一,通常可以在Windows客户机之间通过Windows Network固有的功能实现这些要求。然而,通过Samba我们也可以让一台CentOS主机来兼Windows网络,实现同样的功能,进而充分发挥CentOS主机的可用性。
注:Samba是一个工具套件,是在Linux和UNIX系统上实现SMB(Server Message Block)协议的一个免费软件,由服务器及客户端程序构成。
首先,通过 yum 来在线安装Samba。
注:Yum( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
在线安装Samba
因为是在线安装,所以完成安装通常需要一段时间,系统会不断地做出提示。
Samba安装成功
第5页:配置Samba(1)
配置Samba
安装完成之后,还通过编辑 /etc/samba/smbconf ,根据需求配置Samba。在这里,本文的意图是只将文件共享应用于内网,并让将要被共享的目录拥有充分的读写权限属性。
找到全局设置标签[global],并在其下加入文字编码的参数设置。
编辑Samba的配置文件smbconf
同时,找到workgroup = MYGROUP此行,将工作组名称改为 Windows 网络所定义的工作组名WORKGROUP。并设置hosts allow = 1921680127,指定内网IP地址及本地,只允许这两种情况的访问,取消行前的“;”符号。
修改工作组名和主机允许IP
然后在配置文件的末尾填如下几行,定义公众共享目录:
定义公众共享目录
第6页:配置Samba(2)
配置Samba
接下来,创建将要通过Samba共享给Windows网络的专用目录。
通过Samba共享给Windows网络的专用目录
在进行到服务端的连接之前,需要预先对用于登录Samba的用户进行设置。
在这里,编者以CentOS中Samba用户数据库管理工具"smbpasswd"为例,创建用于登录Samba的用户数据。当然,前提是系统用户中存在该用户,才可以创建该用户在Samba用户数据库中的信息。所以,必须先用useradd创建该用户。
创建新用户
将该用户信息加入到Samba用户数据库中
第7页:启动Samba服务
启动Samba服务
在启动Samba服务之前,首先将防火墙设置中Samba所用到的端口进行开放。
通过vi /etc/sysconfig/iptables,编辑 iptables 配置文件。
编辑iptables配置文件
并且,键入etc/rcd/initd/iptables restart,重新启动iptables,使新的规则生效。同时,启动Samba服务,包括SMB和NMB服务。
重新启动iptables,使新的规则生效
从Windows客户端连接到Samba服务器
在服务端启动Samba服务后,我们就可以从Windows客户端通 Windows网络连接到Samba。这里以Windows XP为例,说明如下连接过程:
1、从桌面打开"网上邻居",并点击"查看工作组计算机"选项;
2、确认出现Samba服务端的连接,并双击该连接;(本站文档的主机名以Sample为例)
3、输入在服务端预先设置好的Samba用户的用户名及密码;(用户名同系统用户名,密码需要输入在通过smbpasswd为该系统用户设置的Samba专用的密码。)
4、然后确认能够连接到Samba服务器,并出现根目录及Samba专用共享目录。
最后,在相应目录进行新建、修改以及删除文件的操作,测试相应权限的可操作性。
一:安装vsftpd
查看是否已经安装vsftpd
2
二:基于虚拟用户的配置
所谓虚拟用户就是没有使用真实的帐户,只是通过映射到真实帐户和设置权限的目的。虚拟用户不能登录CentOS系统。
修改配置文件
配置文件直接贴出来吧
3
三:使用Berkeley DB进行认证
yum install db4 db4-utils
然后,创建用户密码文本/etc/vsftpd/vuser_passwdtxt ,注意奇行是用户名,偶行是密码
4
接着,生成虚拟用户认证的db文件
编辑认证文件/etc/pamd/vsftpd,全部注释掉原来语句,再增加以下两句:
最后,创建虚拟用户配置文件
5
设置FTP根目录权限
最新的vsftpd要求对主目录不能有写的权限所以ftp为755,主目录下面的子目录再设置777权限
6
添加防火墙,把ftp的21端口开放 vi /etc/sysconfig/iptables
7
经过以上步骤我们就完成了ftp服务器的搭建,让我们畅游ftp吧
1、以管理员(root)身份执行以下命令
yum install vsftpd
2、设置开机启动vsftpd ftp服务
chkconfig vsftpd on
3、启动vsftpd服务
service vsftpd start
管理vsftpd相关命令:
停止vsftpd: service vsftpd stop
重启vsftpd: service vsftpd restart
配置防火墙
打开/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
在REJECT行之前添加如下代码
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
保存和关闭文件,重启防火墙
service iptables start
配置vsftpd服务器
默认的配置文件是/etc/vsftpd/vsftpdconf,你可以用文本编辑器打开。
vi /etc/vsftpd/vsftpdconf
添加ftp用户
下面是添加ftpuser用户,设置根目录为/home/wwwroot/ftpuser,禁止此用户登录SSH的权限,并限制其访问其它目录。
1、修改/etc/vsftpd/vsftpdconf
将底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpdchroot_list
改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
3、增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限。
useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser
4、设置用户口令
passwd ftpuser
5、编辑文件chroot_list:
vi /etc/vsftpd/chroot_list
内容为ftp用户名,每个用户占一行,如:
peter
john
6、重新启动vsftpd
service vsftpd restart
另外,如果觉得以后管理ftp用户名嫌麻烦,可以使用centos官方发布的脚本管理。地址如下:
http://wikicentosorg/HowTos/Chroot_Vsftpd_with_non-system_users
出现的错误
1、500 OOPS: cannot change directory
解决方法:
在终端输入命令:
setsebool -P ftpd_disable_trans 1
service vsftpd restart
就OK了!
原因:这是因为服务器开启了selinux,这限制了FTP的登录。
0条评论