一招一式攻克linux(四)

简介:
linux下的文件服务器 
作者:田逸(sery@163.com) 《网管员世界》2006年第一期 

对于一个真实的运行环境而言,配置和启用文件服务器都是很有必要的。把重要的数据集中存储和管理,其安全性显然比分布存储要可靠得多。为此,建议系统管理员配制和启用文件服务器作为基本的管理策略。 
根据使用的方式来看,可以分为3种类别的文件服务器:ftp服务器(ftp/tftp)、 samba服务器、nfs服务器。ftp的客户可以是任意平台,samba是专门针对windows客户,而nfs则是面向linux/unix用户的。下面是三种服务器的对比情况: 
服务器名称 用户客户端平台 使用范围 服务端口 
ftp windows/linux/unix/macos等 发布网站,文件共享 tcp/21 
samba windows 文件共享(网上邻居) tcp/445,tcp/139 
nfs linux/unix 网站发布,文件共享(mount) tcp/2049 
接下来我们就逐个来配置和运行这些服务器。 

nfs服务器 
nfs是sun microsystem公司开发的网络文件系统,它是一种基于远程过程调用(rpc)的分布式文件系统架构。与samba相比较,nfs的数据吞吐能力更强。 
1、 用命令 # rpm ╟qa | grep nfs检查软件包nfs是否安装 ,如果输出没有输出,表明没有被安装,请自行安装之。 
2、 配置nfs服务器。用任何文本编辑器配置文件/etc/exports,来确定需要给客户共享的目录。它的基本格式为 directory host(opti # comments ,这3个字段/列要在一行,directory与host(opti comments 可有可无。主机选项主要是给与挂接用户什么样的权限。目录directory表示要共享出去的目录,值得注意的是,在启用nfs服务以前,系统管理员应该仔细一些,比如不小心共享了根目录/,并且给与用户读写权限,这是十分糟糕的问题。因此,尽可能少的共享目录和赋予较小的访问权限。主机名host是一个很灵活的项目,可以是单个的主机名称(由/etc/hosts得到),主机ip地址,由域名服务器解析的主机名称,ip网络---网络号和子网掩码中间用“/”连接,nic等。下面列举一个例子。 
/home/sery sery(r,w) #把目录/home/sery共享给主机sery,并且主机对目录#/home/sery有读写权限 
/tmp 192.168.100.18(ro) #主机192.168.100.18对目录/tmp具备只读共#享权限 
/media/cdrom 192.168.100.0/255.255.255.0(r,o) #整个网络有读取挂接在nfs 
#服务器上的光驱光盘的读取权限 







3、 启用nfs服务。分两步:首先启用portmap,然后启用nfs服务。# service portmap start; 
# service nfs start。其中portmap的功能是启用远程过程调用,有时启用nfs不能成功,不妨检查一下portmap服务是否启动(# ps aux | grep portmap)。 
4、 在客户端挂接nfs共享出来的目录。先在客户端创建一个挂接点,如 # mkdir /mnt/nfs ,而后使用命令把nfs服务器共享出来的目录挂接上,以第2步那个共享为例,我们挂接目录 /tmp , # mount ╟t nfs 192.168.100.100:/tmp /mnt/nfs //假定nfs服务器的ip地址是192.168.100.100。 
5、 访问nfs共享资源。接上步,改变文件目录 # cd /mnt/nfs就方便地实现了对nfs服务器目录/tmp的远程访问。 
6、 卸载nfs文件系统。在客户端执行命令 # umount /mnt/nfs 就卸下了第4步挂接的nfs文件系统。 
7、 其他事项。前面我们描述了在客户段用手工挂接nfs文件系统的操作,有的场合可能需要自动实现对nfs的挂接操作;修改文件/etc/fstab,把挂接项插入进去就可以了。对一个有较多连接的nfs服务器而言,有这样一个问题---用户在使用完挂接的文件系统后,并不会总记得卸载掉nfs挂接,这必然会增大nfs服务器的维护工作量以及白白占用有限的系统和网络资源;解决这个问题的办法是使用自动挂接器(automounter)。关于自动挂接器属于性能调优的范畴,在此不做描述。 

samba服务器 
这个世界既非只有linux/unix,也不是由microsoft windows 独霸天下的格局。也许出于linux/unix与windows既竞争又共存的事实,人们开发了 linux给windows用户提供文件共享的工具samba,这应该算得上linux的开放精神吧! 
1、 检查是否安装samba软件包。# rpm ╟qa | grep smb ,如果没有则自行安装samba。 
2、 修改配置文件/etc/samba/smb.conf。早期的linux版本的配置文件smb.c 
3、 添加系统账户。由于smb的访问是使用系统账号进行的,因此添加账号是必不可少的。这个比较简单,用命令 # useradd sery , # passwd sery,就可以依次添加若干系统账号。 
4、 建立samba用户密码文件。虽然samba的用户是系统用户,但出于安全考虑,samba用户的密码并非创建系统用户时设定的用户密码。为了生成smb所需的密码,应该进行下面的操作: 
# cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd 
# smbpasswd sery //为系统用户设置smb口令 
# chown root.root /etc/samba/smbpasswd 
# chmod 600 /etc/samba/smbpasswd //不准别的用户访问 





5、 启用samba服务器。我比较喜欢用 # service smb start 这种方式。 
6、 检查服务是否正常启动。# service smb status 或者 # ps aux | grep smb。 
7、 windows客户端访问 samba服务器共享目录。在windows环境下,右键点击“网上邻居”图标,然后左击“搜索计算机”,把samba服务器的ip地址填写在“计算机名”搜索栏,点击立即搜索。找到后双击图标,然后输入在samba服务器上预先设定的用户名和密码,就能合法访问samba服务器设定的共享资源。为了方便使用,可以把samba服务器提供的共享目录映射成本地驱动器。 
8、 其他。上述配置的samba服务器,用户的访问共享目录是系统账号的主目录。要想把共享目录设置到其他位置,修改samba 的配置文件/etc/samba/smb.c 

ftp服务器 
在linux 环境下,有三个主要的ftp服务器:vsftpd、proftpd和wu-ftpd。因为安全方面的原因,vsftpd目前已经牢牢的占据了主导地位。从字面上我们就可以理解vsftpd所具备的主要特征---very secure(非常安全之ftp)。资料表明:1、使用ascii方式下载文件,在1g以太网上的下载速度可以达到86m/s。2、vsftpd可以支持15000个并发用户的访问。 
1、 检查是否安装vsftp包。# rpm ╟qa | grep vsftpd。如果没有则安装它。 
2、 修改配置文件。vsftpd的配置文件为/etc/vsftpd/vsftpd.conf,如果不打算提供匿名访问的话,需要修改配置文件/etc/vsftpd/vsftpd.c 
3、 启用vsftpd服务。#service vsftpd start。 
4、 客户端连接访问。可以是专用的ftp客户端工具,也可以使用浏览器。用工具访问vsftpd服务器的速度要比用浏览器快很多。 
5、 vsftpd服务器的用户。vsftpd服务器支持三种类型的拥护:本地用户(拥有系统账号)、虚拟用户(guest)、匿名账号;系统管理员应该根据安全需求来确定vsftpd服务器的用户访问策略。 

tftp服务器 
tftp服务器主要用于远程系统引导或远程备份象cisco这样的网络设备的配置文件,例如tftp服务器与dhcp、ftp服务器相配合,就可以成为一组linux安装服务器,以利于进行大规模的网络安装linux操作系统。 
与上文提及的几种服务器不同,tftp服务器是由超级守护进程xinetd运行的。这使的tftp服务器的配置操作比独立运行守护进程的服务器(如vsftpd)简单很多。一般情况下,只要修改文件/etc/xinetd.d/tftp,把“disable =yes” 改成 “disable =no”,而后保存重新启动超级守护进程xinetd , # service xinetd restart 。 

通过上面的实践,尽管我们已经能够顺利的完成各种文件服务器的搭建和运行,也基本上可以满足基本的用户服务需求,也许在实际的工作中,可能有更多的性能或安全要求。一个明显的例子就是,如果一个用户的服务器使用的磁盘空间没有做任何限制,那么他完全有可能把他从internet下载的连续剧上传到他自己的文件服务器目录,从而把有限空间的硬盘塞满。另外一个就是目录和文件的权限问题,特别是以本地账号(系统账号)访问文件服务器的情况,如果授权不当,将给系统管理带来极大的麻烦。 
linux所倡导的自由精神也同样在这些服务器的配置操作中得以体现。可以通过修改这些服务器的配置文件来满足特定的需求,而且这些修改是非常灵活的。比如vsftpd服务器的配置文件/etc/vsftpd/vsftpd.c 

附表:几种文件服务器的维护 
服务器名称 
启动脚本 
守护进程 
配置文件 

nfs /etc/init.d/nfs 
/etc/init.d/nfslock /usr/sbin/rpc.nfsd 
/usr/sbin/rpc.mountd /etc/exports 
samba /etc/init.d/smb 
/etc/init.d/winbind /usr/sbin/smbd 
/usr/sbin/nmbd /etc/samba/smb.c 

vsftpd /etc/xinetd.d/vsftpd /usr/sbin/vsftpd /etc/vsftpd/vsftpd.c 






















本文转自sery51CTO博客,原文链接:http://blog.51cto.com/sery/5545 ,如需转载请自行联系原作者


相关文章
|
SQL 关系型数据库 MySQL
|
3月前
|
Linux 应用服务中间件 Shell
二、Linux文本处理与文件操作核心命令
熟悉了Linux的基本“行走”后,就该拿起真正的“工具”干活了。用grep这个“放大镜”在文件里搜索内容,用find这个“探测器”在系统中寻找文件,再用tar把东西打包带走。最关键的是要学会使用管道符|,它像一条流水线,能把这些命令串联起来,让简单工具组合出强大的功能,比如 ps -ef | grep 'nginx' 就能快速找出nginx进程。
483 1
二、Linux文本处理与文件操作核心命令
|
3月前
|
Linux
linux命令—stat
`stat` 是 Linux 系统中用于查看文件或文件系统详细状态信息的命令。相比 `ls -l`,它提供更全面的信息,包括文件大小、权限、所有者、时间戳(最后访问、修改、状态变更时间)、inode 号、设备信息等。其常用选项包括 `-f` 查看文件系统状态、`-t` 以简洁格式输出、`-L` 跟踪符号链接,以及 `-c` 或 `--format` 自定义输出格式。通过这些选项,用户可以灵活获取所需信息,适用于系统调试、权限检查、磁盘管理等场景。
329 137
|
3月前
|
安全 Ubuntu Unix
一、初识 Linux 与基本命令
玩转Linux命令行,就像探索一座新城市。首先要熟悉它的“地图”,也就是/根目录下/etc(放配置)、/home(住家)这些核心区域。然后掌握几个“生存口令”:用ls看周围,cd去别处,mkdir建新房,cp/mv搬东西,再用cat或tail看文件内容。最后,别忘了随时按Tab键,它能帮你自动补全命令和路径,是提高效率的第一神器。
769 57
|
6月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
599 143
linux命令—tree
|
2月前
|
存储 安全 Linux
Linux卡在emergency mode怎么办?xfs_repair 命令轻松解决
Linux虚拟机遇紧急模式?别慌!多因磁盘挂载失败。本文教你通过日志定位问题,用`xfs_repair`等工具修复文件系统,三步快速恢复。掌握查日志、修磁盘、验重启,轻松应对紧急模式,保障系统稳定运行。
569 2
|
3月前
|
缓存 监控 Linux
Linux内存问题排查命令详解
Linux服务器卡顿?可能是内存问题。掌握free、vmstat、sar三大命令,快速排查内存使用情况。free查看实时内存,vmstat诊断系统整体性能瓶颈,sar实现长期监控,三者结合,高效定位并解决内存问题。
349 0
Linux内存问题排查命令详解