Linux
This presentation is the property of its rightful owner.
Sponsored Links
1 / 36

了解 Linux 系统服务 PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

了解 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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Linux

了解Linux系统服务

[email protected]


Linux

  • Daemon


Linux

本文的结构

  • 守护进程以及工作原理

  • 超级服务器inetd以及配置

  • D.O.S.与进程崩溃

  • 网络文件系统

  • Web服务系统

  • FTP服务系统

  • E-mail服务系统

  • 其他服务举例


Linux

守护进程

  • Linux系统上提供的网络服务都是由运行于后台的守护进程来执行。

  • 一个系统一般在后台同时存在好几个守护进程。

  • 由于此类进程对前台的用户来说是透明的,不加干预情况下不会自动停止,有如系统服务的守护天使一般,称为守护进程。


Linux

守护进程工作原理

  • 客户/服务器网络模型的网络程序连接方式是通过TCP端口之间连接实现的。服务器侦听(Listen)某个端口等待客户连接。连接成功后客户机和服务器才开始通信。

  • 守护程序的工作就是打开一个端口,并在该端口上等待连接请求。如果接受到客户端的连接请求,它就创建一个子进程来接受该连接。而父进程继续侦听端口。

  • 常见网络应用端口:

    • ftp-data: 20/ tcp|udp ftp: 21/ tcp|udp

    • ssh: 22/ tcp|udp telnet: 23/ tcp|udp


Inetd

网络守护进程程序inetd ——超级服务器

  • 几乎所有的类Unix系统都运行一个超级服务器,它为许多服务创建套接字(socket),并用select系统调用同时监听所有端口。当远程系统连接服务器时,超级服务器接受请求,并调用该端口的服务程序。

  • 常用超级服务器有inetd(Internet Daemon),该程序在系统启动时被激活,并读取配置文件:/etc/inetd.conf。

  • inetd除了调用系统其他服务外,还处理一些内部服务(Internal Services),包括chargen(产生字符串)和daytime(返回系统日期时间)等。

  • inetd提供的具体服务由/etc/services指出。


Etc services

/etc/services

#--------------------------------------------------------------

# Network Services, Internet Style

#--------------------------------------------------------------

daytime13/tcp

daytime13/udp

qotd 17/tcp

chargen 19/tcp

chargen19/udp

ftp-data20/tcp

ftp-data20/udp

ftp 21/tcp

ftp 21/udp

ssh 22/tcp

ssh 22/udp

nameserver 42/tcp


Linux

  • 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 传给服务器程序的命令行。


Linux

#/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:如果想终止某项服务,在服务前加“#”。


Inetd1

Inetd的缺点

  • 如对服务量大的HTTP和FTP服务用 inetd

  • 启动将影响其他服务的运行和对请求服务的响应。

  • 系统服务也可以独立启动,如在/etc/rc.d/rc.local文件中加入服务器命令。


Linux

Dos

  • Linux服务最经常遇到的问题:

    Dos(Deny of Services)

  • 守护进程受到不正常连接而不能提供正常服务的现象称为拒绝服务,Dos。如一个socket程序以发非常快的速度不断连接系统的telnet端口,inetd将处于安全性考虑停止该服务十分钟。

  • 另外一类Dos跟服务客户端连接数量有关,如 HTTP服务访问量超过服务器所支持,httpd将拒绝服务。

  • 引起Dos的因素很多,以inetd服务为例,避免日常Dos的维护文件有/etc/hosts.allow跟 /etc/hosts.deny。


Linux

#/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文件指定。


Linux

进程崩溃

  • 进程崩溃由程序异常或者系统环境引起,如内存过于紧张时守护进程无法运行导致整个系统崩溃。此种情况最好的解决办法是什么??

  • 对于单独的服务进程,可以将启动进程的命令方式写入/etc/inittab文件,当进程异常退出的时候,操作系统会自动重新启动进程。


Linux

网络文件系统

  • 网络文件系统是计算机间共享信息的一种发式,只是使用者感觉不到自己在操作远程不同系统上的文件。只要有两个,即NFS与samba。

  • NFS(Network File System),该系统由Sun Microsystem公司研发,它能使不同操作系统,不同体系结构的计算机之间共享系统文件。

  • NFS两个重要概念:放置被其他计算机安装的文件系统的计算机称为服务器,安装其他计算机文件系统的计算机即为客户端。服务器的文件系统被其他计算机安装,又称为文件系统输出。


Linux

NFS如何工作

XDP

RPC

RPC数据传送模式

  • NFS建立在XDR/RPC协议上

    • XDP: eXternal Data Representation(外部数据表示)

    • RPC: Remote Procedure Calls(远端进程呼叫)

  • XDR把计算机数据转化成独立与计算机的外部标准格式。客户端发送RPC包给服务器请求服务。


  • Linux

    NFS的守护进程

    • inetd如前面所述。

    • portmap的主要功能是将TCP/IP的端口号转换成RPC的程序进程号。

    • nfsd依据用户端对文件系统的需求启动文件系统请求守护进程(file system request daemon)来应答客户端请求。

    • mountd程序启动后,它会读取/etc/xtab文件,查看客户端正在安装本服务器的那个文件夹,并为其提供安装路径。

    • 该进程可以用showmount命令查看。


    Linux

    安装网络文件系统

    • 手工安装命令:

      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


    Samba windows

    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 .


    Apache web

    使用Apache建立Web站点

    • Apache原来意思为 A patchy Server,意思是对原先一个Wed服务器程序NCSA httpd做出的修补。现在Apache已经成为Internet上面使用最为广泛的Wed服务器程序。

    • Apache的开发由世界各地的志愿者组成,他们被称为Apache group,现在应发展为Apache Software Foundation.


    Apache

    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


    Apache1

    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


    Linux

    ServerAdmin [email protected]

    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----------


    Apache2

    启动与停止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,然后杀死进程。


    Linux

    FTP服务器

    • FTP:File Transfer Protocol(文件传输协议)

    • 客户端向服务器发出连接请求时,首先请求服务器的FTP控制端口21,并告知服务器自己的端口号,服务器使用自己的文件传输端口20跟用户提供的端口建立连接。

    • 授权访问与匿名访问

      • 服务器一般分不同权限赋予不同用户,每个用户可以拥有不同的权限与密码。

      • 匿名用户权限最小,一般只有read权限和/incoming目录的write权限。


    Ftp wu ftpd

    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发布版本都有套件.


  • Wu ftpd

    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 [email protected]


    Linux

    • 如果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


    Wu ftpd1

    wu-ftpd附带工具简介:

    • ftpshut: 停止ftp服务。

    • ftprestart: 重开ftp服务。

    • ckconfig: 程序查漏。

    • ftpcount: 显示登录人数。

    • ftpwho: 显示所有用户当前状态。


    Linux

    架设电子邮件服务器

    • 邮件在internet上的存储与转发是通过邮件传输代理(MTA:Mail Transfer Agent)来完成。比较有名的MTA有 sendmail与qmail等。

    • 架设前准备:

      • 域名:

      • 例如物理院邮件服务器域名:phys.nankai.edu.cn

      • 服务器邮件要求:

      • 邮件服务器的帐户越多,系统负载越重,邮件服务器

      • 一般要求大内存,大硬盘,大带宽,而对CPU没有特别要求。


    Sendmail

    通用邮件服务器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


    M4 sendmail cf

    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


    Linux

    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撤销。


    Linux

    其他网络服务简介——防火墙

    功能:

    • 所有交通网内外的数据包,都要通过它;

    • 只有符合防火墙上的系统本身不能受到影响。

    • 防火墙一般由两部分组成:网关器和过滤器。过滤器是工作于网络层的一段程序,负责分析过滤流经防火墙的数据包。

    • 网关器工作于传输层和应用层,决定数据包的传输方向。

    • 系统管理员在防火墙主机上第一包过滤策略,防火墙将依照该策略工作。过滤策略一般包括:源IP地址,目的IP地址,源TCP/IP端口,目的TCP/IP端口,防火墙也是依据各个数据包的以上信息工作的。


    Linux

    其他网络服务简介——透明网关

    • 工作原理与防火墙相似,配置透明网关的网关器需要一个合法IP,子网内用虚拟IP。所有流经透明网关的数据包将被改写信息头,内外交通数据包不被过滤掉。

    • 可以选择ipchains制作

      linux的防火前或者网关。


    Linux

    其他网络服务简介——代理服务器——共享IP

    • 代理服务器:

      • 包过滤器有选择的传送某一特定服务器,防火墙可以用软件实现HTTP和FTP这样服务的的代理访问。

      • 一般用Squid。

    • 共享IP

      • 网关器的内部网络配置成内部虚拟IP(192.168.1.X),网关器绑定一个配置成合法IP,可以共享外部网络。


    Linux

    谢谢收看

    2004.5

    PHYS SCHOOL of NKU

    [email protected]


  • Login