linux系统服务

linux服务管理体系沿用System V(早期的操作系统,罗马5)的服务管理体系。

运行级别:0关机3多用户5图形6重新启动。

System V定义系统启动的第一个进程为Init ,PID为1。

每个服务的开启、关闭都是由System V脚本控制。位置:/etc/rd.d/init.d目录下。

命令service调用Sys V脚本:service network stop/restart/stop/start、status。   

服务是否默认启动的设置在/etc/rc.d/rcn.d目录下,n表示系统运行级别。配置文件都是链接(脚本在init.d)K表示不启动,S表示开机启动,数字表示顺序。

命令chkconfig用以控制一个服务是否默认启动:

chkconfig 服务名  on|off

chkconfig atd off     开机不自动启动atd服务

chkonfig atd on       开机自动启动atd服务

chkconfig --list       列出所有服务的开机启动状态

部分非常驻服务由xinetd服务控制,有链接需求才运行。常见的有:telnet、tftp、rsync

xinetd服务配置文件保存在:/etc/xinetd.conf。xinetd控制的服务可以用chkconfig启动、禁用,配置文件在/etc/xinetd.d/目录下。

 

日志是系统、程序用来记录其运行状态、信息及错误的纯文本文件

Linux系统中默认的日志服务是syslog服务,rsyslog是其增强版。默认安装且自动启动。

Linux一般保存以下三种类型日志:内核信息、服务信息、应用程序信息

rsyslog服务配置文件为:

/etc/rsyslog.conf    配置规则:facility.priority     日志位置(-表示不用缓存,@IP用UDP发生,@@IP用TCP发生)

Linux系统中日志保存在:/var/log,常用message、secure、boot.

tail -f logfile 实施监控。

日志的两个基本概念:

Facility  定义日志信息来源

Priority  定义日志信息类别:emergency、alert(必须立即处理)、critical严重错误、error、warning警告、notice、information、debug。

DNS(Domain Name System)服务负责域名与IP地址之间的转换。

linux用系统底层的gethostbyname()来域名解析。

Linux下域名解析可以通过以下几种方式:

文件(/etc/hosts、/etc/networks)

DNS

NIS:少用。

/etc/resov.conf设置dns服务器。可以通过配置文件/etc/nsswitch.conf控制查询顺序

DNS是一个树状结构,每一级由一个或多个服务器负责提供信息。

dns查询:host或dig(+trace可追踪路径+t type).(都直接通过dns服务器查询)。

DNS查询分为两种类型:iterative   迭代查询recursive  递归查询

实际使用中,一般使用迭代+递归方式进行查询

在DNS服务器上,信息以资源记录(resource record)格式保存

一条资源记录(resource record)保存一个信息,格式:name class(一般是in) type rdata

常见的资源记录类型有:

A        IPv4地址

AAAA   IPv6地址

MX      邮件记录

CNAME 别名 

PTR     指针(用于逆向解析)

SRV     服务资源

DNS服务器一般分为三种类型:

域主DNS服务器(master):保存zone配置文件。

域从DNS服务器(slave):从主服务器复制配置文件。

缓存DNS服务器(Caching):仅供负载均衡和加速访问。

DNS服务器中,一个域的信息保存在该域的zone配置文件中。

BIND(Berkeley Internet Named Deamon)是现今使用最为广泛的DNS服务程序

BIND默认使用TCP、UDP协议,使用端口 53(DNS)、953(rndc)

BIND配置文件保存在:

/etc/named.conf    主配置文件

/var/named/         域zone文件位置

如果使用了chroot,则配置文件位置为:

/var/named/chroot/etc/named.conf

/var/named/chroot/var/named

bind配置文件示例保存在:

/usr/share/doc/bind-9.8.2/sample/

以下命令用以检查bind配置文件及zone文件语法:

named-checkconf /var/named/chroot/etc/named.conf

named-checkzone linuxcast.net /var/named/chroot/var/named/linuxcast.net.zone

FTP协议是现今使用最为广泛的网络文件共享协议之一

FTP使用TCP作为底层传输协议,以保证传输的可靠性,FTP占用20(data),21(command)端口

FTP拥有两种工作模式:

主动模式(服务端主动向客户端发起数据连接)

被动模式(客户端主动向服务端发起数据连接,通常用在存在服务端与客户端间存在防火墙的情况下)——大多数

Linux中使用最为广泛的FTP服务是vsftpd

vsftpd相关配置文件:

/etc/vsftpd/vsftpd.conf    vsftpd主配置文件

/etc/vsftpd/ftpusers        黑名单(一般是系统账号,以防利用)

/etc/vsftpd/user_list        控制名单(由配置文件控制器是白名单还是黑名单)

vsftpd默认日志文件保存在:/var/log/xferlog  共享路径:/var/ftp

vsftpd使用系统用户作为其登陆用户,用户的家目录就是该用户的FTP根目录,默认不需要配置系统用户就可以通过vsftpd使用ftp协议访问其家目录。

vsftpd基于系统权限机制对用户进行访问控制,用户对某文件夹具有写权限,则可以通过ftp上传文件,有读权限,就可以通过ftp协议下载文件。

登陆: lftp IP(lftp -u 用户 IP)

默认vsftpd启用匿名用户(其实就是建立时的账号ftp,默认路径/var/ftp),但是没有打开匿名用户上传功能,可以通过以下配置打开匿名用户上传功能:

anonymous_enbale=YES            启用匿名用户

anon_upload_enable=YES          启用匿名用户上传功能

anon_mkdir_write_enbale=YES    打开匿名用户创建文件夹的功能

dropbox机制:chmod 2733 目录:只能上传,不能查看。

NFS(Network File System)是Linux、类Unix系统之间共享文件最常用的协议

不同于FTP、HTTP等方式,NFS是直接共享文件系统,所以不需要预先下载,而是可以直接使用共享文件

NFS主流使用三个版本:NFSv2、NFSv3、NFSv4。

NFS服务默认需要使用RPC服务,所以使用NFS服务必须保证系统rpc服务打开:

service rpcbind start

chkconfig rpcbind on

NFSv4不再需要RPC支持,并且是防火墙友好的。

默认NFS占用5个端口,1个NFS端口(2049),四个动态端口,我们可以通过NFS配置文件固定这些动态端口,以在有防火墙的环境下使用:

配置文件:

/etc/sysconfig/nfs

配置:

mountd_port = "4001"     挂载使用端口

statd_port = "4002"        共享状态使用端口

lockd_tcpport= "4003"     TCP锁端口

lockd_udpport= "4004"     UDP锁端口

NFS共享配置文件为:

/etc/exports

共享配置格式为:

共享路径     客户端列表(NFS共享参数)

/linuxcast-nfs     192.168.1.0/24(rw,sync)

命令exportfs可以刷新或显示共享信息:

exportfs -r    刷新共享配置

exportfs -v   显示当前共享配置

常用NFS共享参数:

ro,rw

sync,async

wdelay延迟写操作, no_wdelay

root_squash防止远程root使用root权限,no_root_squash、

SMB(Server Message Block)是windows系统共享文件主要使用的协议。

在Linux系统或类Unix系统中,我们可以使用samba程序实现SMB协议,为windows设备提供共享服务

samba服务是SMB协议的一个开源实现,具有以下主要功能:

通过SMB协议进行文件共享、通过SMB协议进行打印共享、加入一个windows 2000/2003/2008域环境、通过windows 域环境进行认证。

SMB协议又称之为CIFS(Comman Internet File System)协议

samba包含三个服务:smbd文件或打印共享、nmbd支持netbios、winbindd用户或组解析功能(需要单独安装)

一般文件共享只使用到smbd服务。

windows访问:\\192.168.1.100\linux -smb;linux访问:smb://192.168.1.100/linux -smb。或cli模式下使用smbclient //192.168.1.100/linux -smb -U root;

或者mount - cifs //192.168.1.100/LIUNX -smb /mnt

samba配置文件保存在:/etc/samba/smb.conf

配置文件分为三个部分:

[global]     samba全局配置

[homes]    用户家目录共享

[printers]   打印共享

做独立服务器时,需要为linux用户创造新的密码。加入windows域环境后,可用域账号。

samba有两种安全模式:

user-level   任何共享都需要一个用户名、密码进行认证

share-level  只需要密码(或者匿名)就可以访问共享,但与一些windows客户端有兼容性问题

samba使用系统用户,但是使用独立密码,所以任何需要使用samba服务的用户都需要单独创建samba密码:

smbpasswd -a linuxcast

通过以下配置可创建一个独立samba共享:

[linuxcast-share]

comment = This is a LinuxCast.net samba share

path = /linuxcast-share             共享路径

valid users = linuxcast nash_su   可用用户

public = no                            是否为开放共享 

browsable = yes                      是否可浏览

writable = yes                         是否可写

create mask = 0765                  默认创建文件权限

命令testparm可用来检测samba配置文件语法

命令smbclient可以用来访问一个SMB共享:

smbclient //192.168.1.100/linuxcast-share -U linuxcast

smbclient -L 192.168.1.100

HTTP常见状态码:

200    正常,请求成功

301    永久移动,一般用于域名重定向

304    资源未修改,一般用于缓存

401    禁止访问,未授权

403    禁止访问,一般代表没有权限

404    所访问资源不存在 

500    服务器内部错误

apache是Linux中最为老牌的web服务器程序

apache具有以下特点:

动态的、预创建的进程

动态模块加载

虚拟主机

SSL


apache默认配置文件保存在:

/etc/httpd/conf/httpd.conf

模块配置文件保存在:

/etc/httpd/conf.d/

默认apache日志保存在:

/var/log/httpd/

apache默认网站根目录为:

/var/www/html

常用配置如下:

KeepAlive off    TCP保活配置

MaxKeepAliveRequests 100  一个TCP连接允许的最大请求数

KeepAliveTimeout 15         一个TCP连接最长空闲时间

Listen 80     默认监听端口

LoadModule auth_basic_module modules/mod_auth_basic.so   模块加载

User apache      apache服务所使用用户

Group apache     apache服务所使用组

ServerAdmin [email protected]     管理员邮箱

DocumentRoot “/var/www/html”    网站根目录

DirectoryIndex index.html index.html.var   默认首页

检查语法:httpd -t。

虚拟主机(一台服务器为多个网站服务)分为两种:基于域名的虚拟主机(以域名区分服务,最常用,IP是要钱的)、基于IP地址的虚拟主机(SSL网站只能使用基于IP的虚拟主机)

apache虚拟主机配置如下:

NameVirtualHost *:80  

<VirtualHost *:80>

     ServerName www1.linuxcast.net

     ServerAdmin [email protected]

     DocumentRoot /var/www/linuxcast-1

</VirtualHost>

<VirtualHost *:80>

     ServerName www2.linuxcast.net

     ServerAdmin [email protected]

     DocumentRoot /var/www/linuxcast-2

</VirtualHost> 

HTTP简单认证认证用来对某些目录中的网页进行访问控制,当用户访问这些页面的时候需要输入用户名密码进行认证

配置apache实现HTTP简单认证需要以下两个步骤:

1. 创建认证使用的用户名密码数据库:

htpasswd -cm /etc/httpd/.htpasswd linuxcast(添加第二个用户时不用加-c参数)

2. 对指定目录打开认证功能:

<Directory /var/www/linuxcast-1>

     AuthName “LinuxCast Auth” 

     AuthType basic

     AuthUserFile /etc/httpd/.htpasswd

     Require valid-user

</Directory>

电子邮件基本概念:

MUA(Mail User Agent接收邮件所使用的邮件客户端,使用IMAP或POP3协议与服务器通信

MTA(Mail Transfer Agent) 通过SMTP发送、转发邮件(服务器),只负责传送。

MDA(Mail Deliver Agent)将MTA接收到的邮件保存到磁盘或指定地方,通常会进行垃圾邮件及病毒扫描。

MRA(Mail Receive Agent)负责实现IMAP与POP3协议,与MUA进行交互

SMTP(Simple Mail Transfer Protocol)  传输发送邮件所使用的标准协议。MTA实现的东西。

IMAP(Internet Message Access Protocol)接收邮件的标准协议之一,与MTR同步,体验好。

POP3(Post Office Protocol 3) 接收邮件使用的标准协议之一,下载下来,不影响MTR副件。

常用的MUA有:outlook、thunderbird、Mac Mail、mutt

常用的MTA服务有:sendmail、postfix

常用的MDA有:procmail(常用)、dropmail
常用的MRA有:dovecot

 保存目录:/var/spool/mail/username。

邮件地址格式:[email protected],因为未指定服务器主机,需要从DNS查询MX(域的邮件服务器地址)记录。

Postfix是Linux下最为流行的邮件服务器,Postfix是MTA的一种实现,最初的开发目的是为了改良sendmail,现在逐渐成为的Linux下的主流的邮件服务器

postfix的优势有:postfix速度比sendmail快三倍兼容sendmail更加稳定健壮配置更加简单灵活

大多数postfix进程运行权限较低,所以安全性较高。

Linux系统一般会默认安装postfix服务,并且作为系统内用户之间使用的通信方式

postfix配置文件为:/etc/postfix/main.cf

一般我们不直接修改postfix配置文件,而是通过postconf命令进行配置:

postconf -d    显示缺省配置     postconf -n    显示当前配置

postconf -e  配置选项=配置参数   修改一个配置

常用配置参数:

postconf -e "inet_interfaces=all"     配置postfix监听所有接口

postconf -e "myhostname=training.linuxcast.net"    配置本机主机名

postconf -e "mydomain=linuxcast.net"    配置postfix所服务的域的域名

postconf -e "mydestnation=$myhostname,$mydomain"   配置postfix允许接收的邮件的目标地址

postconf -e "myorigin=$mydomain"    配置地址伪装(将发出邮件的发件人伪装为用户名@域名的形式)

postconf -e "masquerade_exceptions=root"  配置哪些用户不进行地址伪装

postconf -e "mynetworks=127.0.0.0/8"    配置那些网络地址可以不进行认证就可转发邮件

查看当前邮件发送队列:postqueue -p

刷新当前邮件发送队列:postqueue -f

邮件服务默认日志为:/var/log/maillog

发生邮件:mail -vs "标题" root@linuxcats。编辑后ctrl+D退出。

本文出自 “sai” 博客,谢绝转载!

你可能感兴趣的:(linux,服务)