1 / 36

了解 Linux 系统服务

了解 Linux 系统服务. xsb00245@phys.nankai.edu.cn. Daemon. 本文的结构. 守护进程以及工作原理 超级服务器 inetd 以及配置 D.O.S. 与进程崩溃 网络文件系统 Web 服务系统 FTP 服务系统 E - mail 服务系统 其他服务举例. 守护进程. Linux 系统上提供的网络服务都是由运行于后台的守护进程来执行。 一个系统一般在后台同时存在好几个守护进程。 由于此类进程对前台的用户来说是透明的,不加干预情况下不会自动停止,有如系统服务的守护天使一般,称为守护进程。. 守护进程工作原理.

daphne
Télécharger la présentation

了解 Linux 系统服务

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 了解Linux系统服务 xsb00245@phys.nankai.edu.cn

  2. Daemon

  3. 本文的结构 • 守护进程以及工作原理 • 超级服务器inetd以及配置 • D.O.S.与进程崩溃 • 网络文件系统 • Web服务系统 • FTP服务系统 • E-mail服务系统 • 其他服务举例

  4. 守护进程 • Linux系统上提供的网络服务都是由运行于后台的守护进程来执行。 • 一个系统一般在后台同时存在好几个守护进程。 • 由于此类进程对前台的用户来说是透明的,不加干预情况下不会自动停止,有如系统服务的守护天使一般,称为守护进程。

  5. 守护进程工作原理 • 客户/服务器网络模型的网络程序连接方式是通过TCP端口之间连接实现的。服务器侦听(Listen)某个端口等待客户连接。连接成功后客户机和服务器才开始通信。 • 守护程序的工作就是打开一个端口,并在该端口上等待连接请求。如果接受到客户端的连接请求,它就创建一个子进程来接受该连接。而父进程继续侦听端口。 • 常见网络应用端口: • ftp-data: 20/ tcp|udp ftp: 21/ tcp|udp • ssh: 22/ tcp|udp telnet: 23/ tcp|udp

  6. 网络守护进程程序inetd ——超级服务器 • 几乎所有的类Unix系统都运行一个超级服务器,它为许多服务创建套接字(socket),并用select系统调用同时监听所有端口。当远程系统连接服务器时,超级服务器接受请求,并调用该端口的服务程序。 • 常用超级服务器有inetd(Internet Daemon),该程序在系统启动时被激活,并读取配置文件:/etc/inetd.conf。 • inetd除了调用系统其他服务外,还处理一些内部服务(Internal Services),包括chargen(产生字符串)和daytime(返回系统日期时间)等。 • inetd提供的具体服务由/etc/services指出。

  7. /etc/services #-------------------------------------------------------------- # Network Services, Internet Style #-------------------------------------------------------------- daytime 13/tcp daytime 13/udp qotd 17/tcp chargen 19/tcp chargen 19/udp ftp-data 20/tcp ftp-data 20/udp ftp 21/tcp ftp 21/udp ssh 22/tcp ssh 22/udp nameserver 42/tcp

  8. inetd接到服务请求后,将根据/etc/inetd.conf文件 • 调用服务程序。该文件行形式如下: • services type protocol wait user server cmdline • services是服务名称,通过/etc/services文件限定。 • type为套接字,对tcp服务为stream,对udp为dgram。 • protocol为协议,通过/etc/protocol限定。 • wait字段可以为wait或者nowait,wait只能用于dgram。 • user 为登陆用户。 • server 给出执行服务器程序的路径名。 • cmdline 传给服务器程序的命令行。

  9. #/etc/inetd.conf echo stream tcp nowait root internal echo dgram udp wait root internal daytime stream tcp nowait root internal daytime dgram udp wait root internal #chargen stream tcp nowait root internal #chargen dgram udp wait root internal # #Standard Services bellow # ftp stream tcp nowait root in.ftpd -l -a #ftp stream tcp nowait root wu.ftpd -l -I –a telnet stream tcp nowait root in. telnetd TIP:如果想终止某项服务,在服务前加“#”。

  10. Inetd的缺点 • 如对服务量大的HTTP和FTP服务用 inetd • 启动将影响其他服务的运行和对请求服务的响应。 • 系统服务也可以独立启动,如在/etc/rc.d/rc.local文件中加入服务器命令。

  11. Dos • Linux服务最经常遇到的问题: Dos(Deny of Services) • 守护进程受到不正常连接而不能提供正常服务的现象称为拒绝服务,Dos。如一个socket程序以发非常快的速度不断连接系统的telnet端口,inetd将处于安全性考虑停止该服务十分钟。 • 另外一类Dos跟服务客户端连接数量有关,如 HTTP服务访问量超过服务器所支持,httpd将拒绝服务。 • 引起Dos的因素很多,以inetd服务为例,避免日常Dos的维护文件有/etc/hosts.allow跟 /etc/hosts.deny。

  12. #/etc/hosts.deny ALL: localhost ALL: .edu.cn ALL: 166.111. ALL: 211.26. ALL: 162.105. ALL: 202.113. ALL: 202.96. In.telnetd: 127. In.ftp: 202.115. ALL: 202.116 #End OF host.deny /etc/hosts.allow的文件格式跟hosts.deny一样,hosts.allow先 与hosts.deny检查。 两文件所指服务由inetd文件指定。

  13. 进程崩溃 • 进程崩溃由程序异常或者系统环境引起,如内存过于紧张时守护进程无法运行导致整个系统崩溃。此种情况最好的解决办法是什么?? • 对于单独的服务进程,可以将启动进程的命令方式写入/etc/inittab文件,当进程异常退出的时候,操作系统会自动重新启动进程。

  14. 网络文件系统 • 网络文件系统是计算机间共享信息的一种发式,只是使用者感觉不到自己在操作远程不同系统上的文件。只要有两个,即NFS与samba。 • NFS(Network File System),该系统由Sun Microsystem公司研发,它能使不同操作系统,不同体系结构的计算机之间共享系统文件。 • NFS两个重要概念:放置被其他计算机安装的文件系统的计算机称为服务器,安装其他计算机文件系统的计算机即为客户端。服务器的文件系统被其他计算机安装,又称为文件系统输出。

  15. NFS如何工作 XDP RPC RPC数据传送模式 • NFS建立在XDR/RPC协议上 • XDP: eXternal Data Representation(外部数据表示) • RPC: Remote Procedure Calls(远端进程呼叫) • XDR把计算机数据转化成独立与计算机的外部标准格式。客户端发送RPC包给服务器请求服务。

  16. NFS的守护进程 • inetd如前面所述。 • portmap的主要功能是将TCP/IP的端口号转换成RPC的程序进程号。 • nfsd依据用户端对文件系统的需求启动文件系统请求守护进程(file system request daemon)来应答客户端请求。 • mountd程序启动后,它会读取/etc/xtab文件,查看客户端正在安装本服务器的那个文件夹,并为其提供安装路径。 • 该进程可以用showmount命令查看。

  17. 安装网络文件系统 • 手工安装命令: mount [-t nfs] [-o specific-options] 文件系统 安装点 例:mount -t nfe –o timeo=40,rw senlocal:/home /home • 系统启动时自动安装: 在/etc/fstab文件中添加如下格式命令: 服务器文件系统 安装点 文件系统类型 选项 例如: senlocal:/home /home nfs timeo=40,rw

  18. samba与windows系统共享资源 • 安装完samba后,在ined.conf文件内添加以下命令行: netbios-ssn stream tcp nowait root /usr/sbin/smbd netbios-ns dgram udp wait root /usr/sbin/nmbd • 在/etc/rc.d/ 目录下建立rc.samba文件: #rc.samba: Start the samba server if [ -x /usr/sbin/smbd –a –x /usr/sbin/nmbd ];then echo “Starting samba……” /usr/sbin/smbd –D /usr/sbin/nmbd –D fi #End of file • samba 的配置文件是:/etc/smb.conf .

  19. 使用Apache建立Web站点 • Apache原来意思为 A patchy Server,意思是对原先一个Wed服务器程序NCSA httpd做出的修补。现在Apache已经成为Internet上面使用最为广泛的Wed服务器程序。 • Apache的开发由世界各地的志愿者组成,他们被称为Apache group,现在应发展为Apache Software Foundation.

  20. Apache 源代码的安装 tar –xzvf apache-1.3.11.tar.gz #cd apache-1.3.11 #./configure //编译前准备,生成makefile #make #make install • Apache 的默认安装路径为/usr/local/apache,可以在编译前准备时修改默认安装路径: ./configure --prefix=/www

  21. Apache 的基本配置 • Apache的配置文件放在其安装目录的子目录conf/ 下,对于redhat一般在/etc/httpd/conf,而slackware则是/var/local/apache/conf . • Apache的配置文件一般有三个:http.conf、srm.conf、和access.conf。1.3.x以后的版本将配置信息都写入http.conf,保留srm.conf和access.conf,但是不写入信息。 • #http.conf 文件范本 ServerType standalone ServerRoot “/usr/local/apache” Port 80 User nobody Group nogroup

  22. ServerAdmin admin@senlocal.phys.nankai.edu.cn ServerName senlocal.phys.nankai.edu.cn DocumentRoot “/usr/local/apache/htdocs” <Directory /> Options None AllowOverride None //make the .htaccess have no permit Order deny,allow Deny from all </Directory> <Directory “/usr/local/apache/htdocs”> Options FollowSymlinks MultiViews AllowOverride None Order allow,deny Allow from all </Directory> DirectoryIndex index.html index.htm //error ID. 403 #End of file----------

  23. 启动与停止Apache • 如果Apache随系统一起安装,启动时Apache将一起启动,脚本文件各个系统不同,redhat是/etc/rc.d/init.d/http.init,Slackware是/etc/rd.d/rc.httpd. • Apache的可执行文件名字为httpd,自行安装时一般放在安装目录下的bin或者sbin子目录,如/www/bin、/usr/local/Apache/bin等。要手工启动Apache,可与运行命令: • #/www/bin/httpd • 正常启动时可看到: • /www/bin/apachectl start: httpd started • 可以用Kill -9 强制停止Apache,先用ps –A|grep “http”查看所有http进程,找到为root用户所运行的httpd的进程ID,然后杀死进程。

  24. FTP服务器 • FTP:File Transfer Protocol(文件传输协议) • 客户端向服务器发出连接请求时,首先请求服务器的FTP控制端口21,并告知服务器自己的端口号,服务器使用自己的文件传输端口20跟用户提供的端口建立连接。 • 授权访问与匿名访问 • 服务器一般分不同权限赋予不同用户,每个用户可以拥有不同的权限与密码。 • 匿名用户权限最小,一般只有read权限和/incoming目录的write权限。

  25. FTP服务软件wu-ftpd • 简介:wu-ftpd是Wuarchive-ftpd的简称,目前Internet上最为流行的一个FTP服务程序,最初由美国Washington大学的Bryan D. O’Connor为Unix系统开发的,现在由其维护小组WU-FTP Development Group 继续开发维护。 • 特征: • 遵守GPL协议,源代码公开; • 支持平台丰富,包括绝大部分Unix和类Unix平台; • 由世界各地开发者协同维护和更新; • 非商业,历史悠久。 • 源代码获得: ftp://ftp.wu-ftpd.org/pub/wu-ftpd/ • 各个linux发布版本都有套件.

  26. wu-ftpd的配置 #/etc/ftpaccess 范本 class all real,guest,anonymous, * //classify the user limit all 10 Any /etc/msgs/msg.dead readme README* login readme README* cwd= * message /welcome.msg login message .message cwd= * compress yes all tar yea all log commands real log transfers anonymous,real inbound,outbound anonymous-root /home/ftp shutdown /etc/shutmsg email root@senlocal.localhost

  27. 如果wu-ftpd守护进程由inetd进程来调用,则要在inetd.conf文件添加以下命令行:如果wu-ftpd守护进程由inetd进程来调用,则要在inetd.conf文件添加以下命令行: ftpstream tcp nowait root /usr/sbin/tcpd wu.ftpd –l –a //假设wu-ftpd安装在/usr/sbin目录下。参数“-l”表示每次客户端连接的信息都记录在syslog文件,参数“-a”表示wu-ftpd启动时读取/etc/ftpaccess配置文件,因为缺省情况下,wu-ftpd是不读取ftpaccess文件的。所以要特别加入。其他参数可用man ftpd读取。 • 基本配置完后,可以测试自己的ftp: #ftp senlocal 10.*.*.* FTP server(version wu-2.6.0(3) Sat May 8 10:05:04)ready Name(localhost:sen): 311 password reqired for sen: 230 User sen logged in. Romote system type is UNIX Using binary mode to transfer files

  28. wu-ftpd附带工具简介: • ftpshut: 停止ftp服务。 • ftprestart: 重开ftp服务。 • ckconfig: 程序查漏。 • ftpcount: 显示登录人数。 • ftpwho: 显示所有用户当前状态。

  29. 架设电子邮件服务器 • 邮件在internet上的存储与转发是通过邮件传输代理(MTA:Mail Transfer Agent)来完成。比较有名的MTA有 sendmail与qmail等。 • 架设前准备: • 域名: • 例如物理院邮件服务器域名:phys.nankai.edu.cn • 服务器邮件要求: • 邮件服务器的帐户越多,系统负载越重,邮件服务器 • 一般要求大内存,大硬盘,大带宽,而对CPU没有特别要求。

  30. 通用邮件服务器sendmail • sendmail是Unix世界最为重要的MTA,同时也是最强大,配置最复杂的MTA。 O’ Reilly and Associates 出版的权威著作《sendmail》有1000页左右 流行说法:只有完全编辑过sendmail.cf文件的人才是一个真正的Unix系统管理员 • sendmail的主页是:http://www.sendmail.org 可以在该站下到最新的sendmail。 #tar –xzvf sendmail-8.9.3.tgz #cd sendmail-8.9.3/src #sh Build //sendmail 自带的编译工具,不必使用make #sh Build install 默认情况下,sendmail安装在/usr/sbin/ 目录下,自动生成的sendmail.cf 在/etc/sendmail.cf

  31. M4工具生成sendmail.cf • 先进入sendmail-8.9.3./cf/cf/ 目录建立m4的配置文件,假设取名为linux.mc,在该文件中加入如下配置信息: #---- m4 config file ---------- OSTYPE(mklinux) FEATURE(nouucp) FEATURE(use_cw_file) define(‘STATUS_FILE’, ‘/etc/sendmail.st’) MAILER(local) MAILER(smtp) #---- End Of File -------------- #m4 ../m4/cf.m4 linux.mc > sendmail.cf #cp /etc/sendmail.cf > /etc/sendmail.cf.bak && cp sendmail.cf /etc

  32. M4配置文件参数说明 • OSTYPE:指定系统类型。Sendmail为各种系统提供缺省的m4文件, linux系统的配置文件为linux.m4 • FEATURE:指定sendmail各个特性,如 • FEATURE(nouucp)指不支持uucp形式的邮件地址; • FEATURE(use_cw_file)表示在/etc/sendmail.cw文件中读取本机域名; • FEAYURE(local_promail)表示sendmail作为本机邮件传递程序。 • MAILER:指定支持的邮件传递服务类型,如 • MAILER(local)表示支持本机邮件投递; • MAILER(smtp)表示支持用SMTP协议投递邮件。 • defile:定义一些宏变量,如 • defile(‘STATUS_FILE’, ‘/etc/sendmail.st’)指定/etc/sendmail.st 作为sendmail的状态记录文件。该命令定义的宏变量可以用undefile撤销。

  33. 其他网络服务简介——防火墙 功能: • 所有交通网内外的数据包,都要通过它; • 只有符合防火墙上的系统本身不能受到影响。 • 防火墙一般由两部分组成:网关器和过滤器。过滤器是工作于网络层的一段程序,负责分析过滤流经防火墙的数据包。 • 网关器工作于传输层和应用层,决定数据包的传输方向。 • 系统管理员在防火墙主机上第一包过滤策略,防火墙将依照该策略工作。过滤策略一般包括:源IP地址,目的IP地址,源TCP/IP端口,目的TCP/IP端口,防火墙也是依据各个数据包的以上信息工作的。

  34. 其他网络服务简介——透明网关 • 工作原理与防火墙相似,配置透明网关的网关器需要一个合法IP,子网内用虚拟IP。所有流经透明网关的数据包将被改写信息头,内外交通数据包不被过滤掉。 • 可以选择ipchains制作 linux的防火前或者网关。

  35. 其他网络服务简介——代理服务器——共享IP • 代理服务器: • 包过滤器有选择的传送某一特定服务器,防火墙可以用软件实现HTTP和FTP这样服务的的代理访问。 • 一般用Squid。 • 共享IP • 网关器的内部网络配置成内部虚拟IP(192.168.1.X),网关器绑定一个配置成合法IP,可以共享外部网络。

  36. 谢谢收看 2004.5 PHYS SCHOOL of NKU sen@bbs.nankai.edu.cn

More Related