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
保存目录:/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” 博客,谢绝转载!