文档库 最新最全的文档下载
当前位置:文档库 › linux sendmail配置详解

linux sendmail配置详解

linux sendmail配置详解
linux sendmail配置详解

sendmail

MUA (mail user agent 邮件用户代理),用于用户端发送邮件或者阅读邮件 linux有mutt这个工具

MTA (mail tranfer agent 邮件传输代理),相当于一个邮局,server端的软件,主要的功能有,接收MUA发来的邮件和把邮件发送给下一个MTA,可以说是一个邮件路由(mail router),server端的软件就属于MTA,现在开源的有sendmail,postfix,qmail等

MDA (mail devilery agent 邮件投递代理),主要是将MTA所接受的邮件,依照邮件的目的地将此邮件放到本机账号下或者是给下一个MTA,一般就是指mail 这样的命令

邮件的协议:

发信: SMTP (simple mail tranfer protocol 简单邮件传输协议)端口号TCP的25端口,在发信时,MUA会主动连接MTA的port 25,然后经由SMTP协议发送出去,SMTP分为接受SMTP和发送SMTP,它不管两端主机的配置或者系统等,只要两边SMTP协议OK就可以发送邮件

收信: POP (post office protocol 邮局协议),来连接到MTA,以读取或者下载邮件,现在常用的版本是POP3,端口为110

IMAP (internet message access protocol 网络报文件协议),能在下载邮件前先下载邮件头信息,以可以让用户选择性下载端口 143

软件包

yum install sendmail*

yum install dovecot

sendmail.i386 --邮件服务器端 MTA sendmail-cf.i386 --配置文件包

sendmail-devel.i386 --开发包

sendmail-doc.i386 --文档包

dovecot.i386 --(鸽舍),pop邮件服务端 MDA

m4.i386 --处理配置文件的包

端口: smtp (25) pop3 (110) imap (143)

协议: TCP

服务启动脚本:

/etc/init.d/sendmail

/etc/init.d/dovecot

配置文件:

/etc/mail/sendmail.cf --sendmail邮件服务启动时读取的主配置文件

/etc/mail/sendmail.mc --管理员修改sendmail服务器功能时的配置文件

/etc/mail/local-host-names --配置支持发送邮件时使用短域名形式

/etc/mail/virtusertable --虚拟用户列表

/etc/aliases --用户别名

/etc/mail/access --邮件中继

/etc/init.d/sendmail restart

[root@li ~]# netstat -ntl |grep 25 --看到默认是只监听了127.0.0.1的回环地址

tcp 0 0

127.0.0.1:25 0.0.0.0:* LISTEN

--发送邮件方法一:

[root@li ~]# mail -s "mail" root@https://www.wendangku.net/doc/a315510525.html, --用此命令发送邮件 -s 后接邮件主题

1111 --写邮件内容

. --“." 点号表示结束

Cc: --直接回车退出

[root@li ~]# mail -s 'yyyy' a@https://www.wendangku.net/doc/a315510525.html, < /etc/grub.conf --还可以这样把/etc/grub.conf的内容直接发送给a用户

--查看邮件方法一:

cat /var/mail/root

cat /var/spool/mail/root --查看这两个一样的这样是可以查看到刚才发送的邮件,因为一个是自己发送给自己用的127.0.0.1这个回环地址,这种情况不需要DNS的MX支持

--发送邮件方法二:

[root@li ~]# telnet 127.0.0.1 25 --对smtp协议进行验证

Trying 127.0.0.1...

Connected to localhost.localdomain (127.0.0.1).

Escape character is '^]'.

220 https://www.wendangku.net/doc/a315510525.html, ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 11:30:09 +0800

helo https://www.wendangku.net/doc/a315510525.html, --定义来访者,可以用help去查看支持哪些命令集,用help+命令来看单个命令如何使用

250 https://www.wendangku.net/doc/a315510525.html, Hello localhost.localdomain [127.0.0.1], pleased to

meet you

mail from:aa@https://www.wendangku.net/doc/a315510525.html, --定义一个发送者,这里可以随便定义

250 2.1.0 aa@https://www.wendangku.net/doc/a315510525.html,... Sender ok

rcpt to:a@https://www.wendangku.net/doc/a315510525.html, --定义接收者,这里是我本机的a用户

250 2.1.5 a@https://www.wendangku.net/doc/a315510525.html,... Recipient ok

data --表示下面要写邮件内容

354 Enter mail, end with "." on a line by itself

4444444444 --随便写上你要发送的邮件的内容

. --"." 点号表示结束

250 2.0.0 o4T3U9l1026581 Message accepted for delivery

quit --quit退出,有时候一次退不出,就多敲几次quit

221 2.0.0 https://www.wendangku.net/doc/a315510525.html, closing connection

Connection closed by foreign host.

yum install mutt

mutt --是一个在unix-like系统下小巧但强大的基于文本的一个能发送和阅读邮件的工具(MUA)

--查看邮件方法二:

直接在root用户下使用mutt命令,可以看到root用户的收信箱

如果要看普通的邮件,就要先su - 普通用户名切换到普通用户再使用mutt命令查看

--发送邮件方法三:

[root@li ~]# mutt a@https://www.wendangku.net/doc/a315510525.html, --可以直接使用这样的命令发送给

a@https://www.wendangku.net/doc/a315510525.html,

,会提示用户写内容,还有附件等功能

--发送邮件方法四:

[root@li ~]# cat /etc/rc.local |sendmail -v a@https://www.wendangku.net/doc/a315510525.html,

-------------------------

下面先把DNS的MX记录给配置好

[root@li mail]# vim

/var/named/chroot/var/named/data/https://www.wendangku.net/doc/a315510525.html,.zone

$TTL 86400

@ IN SOA https://www.wendangku.net/doc/a315510525.html,. https://www.wendangku.net/doc/a315510525.html,. ( 2010051605

60

60

360

86400)

IN NS https://www.wendangku.net/doc/a315510525.html,.

IN MX 0 https://www.wendangku.net/doc/a315510525.html,. --MX是邮件交换记录,0是代表优先级别,可以写多个,数字越小优先级越高

li IN A 10.1.1.35

pop IN A 10.1.1.35

smtp IN A 10.1.1.35

/etc/init.d/named reload

vim /etc/resolv.conf --DNS指向改为本机

[root@li mail]# nslookup --验证MX记录的方法

> set type=mx

> https://www.wendangku.net/doc/a315510525.html,

Server: 10.1.1.35

Address: 10.1.1.35#53

https://www.wendangku.net/doc/a315510525.html, mail exchanger = 0 https://www.wendangku.net/doc/a315510525.html,. --看到这样的信息表示成功

最好把时间同步也配好

[root@li mail]# echo 'while :; do ntpdate 10.1.1.1> /dev/null 2>/dev/null; sleep 10; done'>> /etc/rc.local

--每十秒同步一次10.1.1.1,放到/etc/rc.local里,开机自动运行

把邮件客户端软件claws-mail拷过去装好

ls /share/soft/soft/mail_client/

tar xvf /share/soft/soft/mail_client/claws-mail-3.5.0.tar.gz -C

/usr/src/

tar xvf /share/soft/soft/mail_client/libetpan-0.57.tar.gz -C /usr/src/ cd /usr/src/libetpan-0.57/

./configure ;make ;make install

cd /usr/src/claws-mail-3.5.0/

./configure ;make ;make install

例一:让smtp协议监听所有端口

vim /etc/mail/sendmail.mc

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl --把127.0.0.1改为0.0.0.0,或者是把中间那一小段去掉

保存退出

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf --如果没有装m4.i386这个包,就需要使用m4命令去生成sendmail.cf配置文件,装了就不需要,重启sendmail服务自动生成

/etc/init.d/sendmail restart

[root@li claws-mail-3.5.0]# netstat -ntl|grep 25

tcp 0 0

0.0.0.0:25 0.0.0.0:* LISTEN

[root@li claws-mail-3.5.0]# telnet 10.1.1.35 25 --对本机的IP(非回环地址)做smtp协议的测试是可以做的,如果只监听127.0.0.1,就不能这样用IP测试

Trying 10.1.1.35...

Connected to https://www.wendangku.net/doc/a315510525.html, (10.1.1.35).

Escape character is '^]'.

220 https://www.wendangku.net/doc/a315510525.html, ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 13:47:01 +0800

helo https://www.wendangku.net/doc/a315510525.html,

250 https://www.wendangku.net/doc/a315510525.html,

.................

例二:用claws-mail收发邮件

用claws-mail 发送一封邮件给本机用户,能写,但点收信时会报连接到https://www.wendangku.net/doc/a315510525.html,:110失败

原因检验:

[root@li /]# nslookup https://www.wendangku.net/doc/a315510525.html, --先查看DNS,能解析

Server: 10.1.1.35

Address: 10.1.1.35#53

Name: https://www.wendangku.net/doc/a315510525.html,

Address: 10.1.1.35

netstat -ntl |grep 110 --再查看端口,发现没有110端口,表示pop3协议没有配置

所以要去配置dovecot服务

[root@li /]# vim /etc/dovecot.conf

protocols = imap imaps pop3 pop3s --在20行找到有一行注释,打开注释,或者写一行,表示支持pop3和imap协议

/etc/init.d/dovecot restart --重启服务后,就可以看到监听143和110端口打开了

[root@li /]# netstat -ntlup |grep 143

tcp 0 0 :::143 :::* LISTEN 21674/dovecot

[root@li /]# netstat -ntlup |grep 110

tcp 0 0 :::110 :::* LISTEN 21674/dovecot

然后就可以收邮件了

例三:使用支持短域名来发送邮件

[root@li /]# mail -s '222' a@https://www.wendangku.net/doc/a315510525.html, --使用短域名

222222

.

Cc:

[root@li /]# tail /var/mail/a --查看时看不到,表示不支持短域名

[root@li /]# tail /var/mail/root --可以看到扔到root的邮箱去了

配置方法:

[root@li /]# vim /etc/mail/local-host-names --写上短域名

https://www.wendangku.net/doc/a315510525.html,

https://www.wendangku.net/doc/a315510525.html,

https://www.wendangku.net/doc/a315510525.html,

--注意的是写的域名,最好是DNS能解析,否则测试失败

/etc/init.d/sendmail reload

再用短域名发送并测试发现是可以成功的

例四:邮件别名,邮件转发,邮件群发

[root@li /]# vim /etc/aliases

加上

a: b --表示发送给a用户的邮件,发给了b用户,a用户自己收不到

c: d,e,f --表示发送c用户的邮件,发给了d,e,f三个用户,a用户自己收不到

salegroup: :include:/etc/mail/salegroup --还可以这样写,把一些用户分组,注意/etc/mail/salegroup是不存在的,要手动建立并把这个组的成员写进去,一行一个用户;测试时发给的用户名要写成salegroup,例如:mail -s '7777' salegroup@https://www.wendangku.net/doc/a315510525.html,

/etc/init.d/sendmail reload

例五:邮件的虚拟账号,虚拟用户表格

[root@li /]# vim /etc/mail/virtusertable

a@https://www.wendangku.net/doc/a315510525.html, b@https://www.wendangku.net/doc/a315510525.html, --把b@https://www.wendangku.net/doc/a315510525.html,的账号虚拟成

a@https://www.wendangku.net/doc/a315510525.html,账号

@https://www.wendangku.net/doc/a315510525.html, c --所有发往https://www.wendangku.net/doc/a315510525.html,域的邮件都会发到本地的c用户的mailbox

/etc/init.d/sendmail reload

例五:邮件中继

保持上面的配置不变的情况下,用另一台电脑做测试

[root@dns ~]# telnet 10.1.1.35 25 --另一台电脑测试35这台服务器上的smtp 协议

Trying 10.1.1.35...

Connected to 10.1.1.35 (10.1.1.35).

Escape character is '^]'.

220 https://www.wendangku.net/doc/a315510525.html, ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 15:39:36 +0800

helo https://www.wendangku.net/doc/a315510525.html,

250 https://www.wendangku.net/doc/a315510525.html, Hello [10.1.1.218], pleased to meet you

mail from:sdfsa@https://www.wendangku.net/doc/a315510525.html,

250 2.1.0 sdfsa@https://www.wendangku.net/doc/a315510525.html,... Sender ok

rcpt to:sfsadfa@https://www.wendangku.net/doc/a315510525.html,

550 5.7.1 sfsadfa@https://www.wendangku.net/doc/a315510525.html,... Relaying denied. --可以看到中继拒绝

[root@li /]# vim /etc/mail/access --默认是只允许127.0.0.1中继

Connect:10.1.1.218 OK --非常信任的主机可以用OK

Connect:10.1.1 RELAY --表示允许10.1.1.0网段中继FROM:https://www.wendangku.net/doc/a315510525.html, REJECT --表示从https://www.wendangku.net/doc/a315510525.html,来的邮件都拒绝

TO:https://www.wendangku.net/doc/a315510525.html, discard --到https://www.wendangku.net/doc/a315510525.html,的邮件丢弃

--reject和discard的区别,discard是直接丢弃,reject还要返回一个错误或者警告

我在这里加上了

Connect:10.1.1 RELAY

/etc/init.d/sendmail reload

再用刚才的另一台电脑来测试(要是10.1.1.0网段,因为上面我只允许这个网段relay)

[root@dns ~]# telnet 10.1.1.35 25

Trying 10.1.1.35...

Connected to 10.1.1.35 (10.1.1.35).

Escape character is '^]'.

220 https://www.wendangku.net/doc/a315510525.html, ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 15:51:35 +0800

helo dns.lu.con

250 https://www.wendangku.net/doc/a315510525.html, Hello [10.1.1.218], pleased to meet you

mail from:sfsafa@https://www.wendangku.net/doc/a315510525.html,

250 2.1.0 sfsafa@https://www.wendangku.net/doc/a315510525.html,... Sender ok

rcpt to:sdfsadf@https://www.wendangku.net/doc/a315510525.html,

250 2.1.5 sdfsadf@https://www.wendangku.net/doc/a315510525.html,... Recipient ok --这次测试没有报relay deny的错误

------------------------------------------------------------------- 使用smtp验证

yum install cyrus-sasl*

vim /etc/mail/sendmail.mc --把下面三行注释打开

TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl

/etc/init.d/sendmail restart

/etc/init.d/dovecot restart

/etc/init.d/saslauthd restart

[root@li /]# telnet 10.1.1.35 25

Trying 10.1.1.35...

Connected to https://www.wendangku.net/doc/a315510525.html, (10.1.1.35).

Escape character is '^]'.

220 https://www.wendangku.net/doc/a315510525.html, ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 16:42:54 +0800

ehlo https://www.wendangku.net/doc/a315510525.html, --注意这里是ehlo 不是 helo

https://www.wendangku.net/doc/a315510525.html, Hello https://www.wendangku.net/doc/a315510525.html, [10.1.1.35], pleased to meet you 250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-ETRN

250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN --看到这里有login plain验证信息表示支持smtp验证

250-DELIVERBY

250 HELP

验证:

[root@li /]# telnet 10.1.1.35 25

Trying 10.1.1.35...

Connected to https://www.wendangku.net/doc/a315510525.html, (10.1.1.35).

Escape character is '^]'.

220 https://www.wendangku.net/doc/a315510525.html, ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 16:45:12 +0800

helo https://www.wendangku.net/doc/a315510525.html,

250 https://www.wendangku.net/doc/a315510525.html, Hello https://www.wendangku.net/doc/a315510525.html, [10.1.1.35], pleased to meet you

mail from:fsfafa@https://www.wendangku.net/doc/a315510525.html,

250 2.1.0 fsfafa@https://www.wendangku.net/doc/a315510525.html,... Sender ok --这里没有要求验证

原因:是因为smtp验证默认只是在587端口,而不是25端口,所以你还是直接telnet 10.1.1.35 25 就避开了使用smtp验证

vim /etc/mail/sendmail.mc

把下面这句

DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl

改为

DAEMON_OPTIONS(`Port=25, Name=MSA, M=Ea')dnl

然后还要

DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl --把这名注释掉,注意注释时用dnl,不用#

--表示强制使用smtp验证

/etc/init.d/sendmail restart

[root@li /]# telnet 10.1.1.35 25

Trying 10.1.1.35...

Connected to https://www.wendangku.net/doc/a315510525.html, (10.1.1.35).

Escape character is '^]'.

220 https://www.wendangku.net/doc/a315510525.html, ESMTP Sendmail 8.13.8/8.13.8; Sat, 29 May 2010 16:55:58 +0800

helo https://www.wendangku.net/doc/a315510525.html,

250 https://www.wendangku.net/doc/a315510525.html, Hello https://www.wendangku.net/doc/a315510525.html, [10.1.1.35], pleased to meet you mail from:sfsafsa@https://www.wendangku.net/doc/a315510525.html,

530 5.7.0 Authentication required --现在就会看到需要验证

auth login --开始验证

334 VXNlcm5hbWU6

a --输入用户名,会报错,因为这里是用base64位编码

501 5.5.4 cannot decode AUTH parameter a

auth login

334 VXNlcm5hbWU6

YQ== --这就是a的base64位编码

334 UGFzc3dvcmQ6

MTIz --这是123的base64位编码

235 2.0.0 OK Authenticated --验证成功,可以发送邮件了

mail from:sdfasfas@https://www.wendangku.net/doc/a315510525.html,

250 2.1.0 sdfasfas@https://www.wendangku.net/doc/a315510525.html,... Sender ok

rcpt to:b@https://www.wendangku.net/doc/a315510525.html,

250 2.1.5 b@https://www.wendangku.net/doc/a315510525.html,... Recipient ok

data

354 Enter mail, end with "." on a line by itself

last test

.

250 2.0.0 o4T8twFU025598 Message accepted for delivery

quit

221 2.0.0 https://www.wendangku.net/doc/a315510525.html, closing connection

Connection closed by foreign host.

cat /var/mail/b 是可以看到发送的邮件

---------------

用claws-mail来验证

点设置--目前账号的偏好设置--发送--把SMTP鉴权(SMTP AUTH)前面的勾打上--鉴权方式选PLAIN--用户ID和密码写上本机的一个普通名和其密码就OK

再发送信件等都是经过了SMTP验证的

理解linux的配置文件

本文说明了 Linux 系统的配置文件,在多用户、多任务环境中,配置文件控制用户权限、系统应用程序、守护进程、服务和其它管理任务。这些任务包括管理用户帐号、分配磁盘配额、管理电子邮件和新闻组,以及配置内核参数。本文还根据配置文件的使用和其所影响的服务的情况对目前 Red Hat Linux 系统中的配置文件进行了分类。 介绍 每个 Linux 程序都是一个可执行文件,它含有操作码列表,CPU 将执行这些操作码来完成特定的操作。例如,ls 命令是由 /bin/ls 文件提供的,该文件含有机器指令的列表,在屏幕上显示当前目录中文件的列表时需要使用这些机器指令。几乎每个程序的行为都可以通过修改其配置文件来按照您的偏好或需要去定制。 Linux 中有没有一个标准的配置文件格式? 一句话,没有。不熟悉 Linux 的用户(一定)会感到沮丧,因为每个配置文件看起来都象是一个要迎接的新挑战。在 Linux 中,每个程序员都可以自由选择他或她喜欢的配置文件格式。可以选择的格式很多,从 /etc/shells 文件(它包含被一个换行符分开的 shell 的列表),到 Apache 的复杂的 /etc/httpd.conf 文件。 什么是系统配置文件? 内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开 /etc/passwd 文件。相反,程序应该调用系统库的 getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核(通过系统库)决定的。除非另行指定,Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。配置文件可以大致分为下面几类:访问文件 /etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过netconf 对其进行更改) /etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。 /etc/hosts.allow 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 /etc/hosts.deny 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 引导和登录/注销 /etc/issue & /etc/https://www.wendangku.net/doc/a315510525.html, 这些文件由 mingetty(和类似的程序)读取,用来向从终端(issue)或通过telnet 会话(https://www.wendangku.net/doc/a315510525.html,)连接的用户显示一个“welcome”字符串。它们包括几行声明 Red Hat 版本号、名称和内核 ID 的信息。它们由 rc.local 使用。 /etc/redhat-release 包括一行声明 Red Hat 版本号和名称的信息。由 rc.local 使用。 /etc/rc.d/rc 通常在所有运行级别运行,级别作为参数传送。例如,要以图形(Graphics)模式(X-Server)引导机器,请在命令行运行下面的命令: init 5 。运行级别 5 表示以图形模式引导系统。 /etc/rc.d/rc.local 非正式的。可以从 rc、rc.sysinit 或 /etc/inittab 调用。 /etc/rc.d/rc.sysinit 通常是所有运行级别的第一个脚本。 /etc/rc.d/rc/rcX.d 从 rc 运行的脚本( X 表示 1 到 5 之间的任意数字)。这些目录是特定“运行级别”的目录。当系统启动时,它会识别要启动的运行级别,然后调用该运行级别的特定目录中存在的所有启动脚本。例如,

Linux 主配置文件httpd.conf

Linux 主配置文件httpd.conf httpd.conf是最核心的配置文件,位于/etc/httpd/目录下。像大多数的服务一样,几乎绝大部分的设置都需要通过修改该配置文件来完成。Apache的主配置文件的内容有900多行,不过不用担心,因为绝大部分的内容是注释信息,而且注释内容相当丰富,用户完全可以通过注释来了解Apache的功能、语法以及使用。 对Apache服务器的配置,主要方式就是对httpd.conf配置文件的修改。该文件是Apache服务器主要配置文件,包含各种影响服务器运行的配置选项,只有对这些配置信息进行理解,才能真正的掌握Apache服务器的配置。 用户可以在终端中,输入vi /etc/httpd/conf/httpd.conf命令,并按,打开该配置文件,如图38所示。 图38 主配置文件注释内容 该主配置文件的注释内容,告诉用户一些基本信息,用户可以通过https://www.wendangku.net/doc/a315510525.html,/docs/2.2/网站来查看该配置文件的更多细节。该配置文件主要有3个基本的配置项:第一个是Global Environment(全局环境配置),第二个是Main server configuration(主服务配置),第三个是Virtual Hosts(虚拟主机配置)。 每部分都有相应的配置选项,该文件所有配置选项的语法为“配置选项名称参数值”的形式,配置选项可以放在文件中的任何地方,但为了增强文件的可读性,最好将配置语句放在相应的部分。 httpd.conf中每行包含一条语句,行末使用反斜杠“\”可以换行,但是反斜杠与下一行中间不能有任何其他字符(包括空白)。httpd.conf的配置语句除了选项的参数值以外,所有选项指令均不区分大小写,可以在每一行前用“#”号,表示注释。 Global Environment(全局环境配置)该配置段中的各配置选项用于控制Apache服务器作为一个服务器作为一个整体来运行。

linux所有配置文件详解

/etc/resolv.conf 文件功能:DNS客户机配置文件,设置DNS服务器的IP地址及DNS域名 /etc/resolv.conf的一个示例: domain https://www.wendangku.net/doc/a315510525.html, search https://www.wendangku.net/doc/a315510525.html, https://www.wendangku.net/doc/a315510525.html, nameserver 202.96.128.86 nameserver 202.96.128.166 参数说明: nameserver表明DNS服务器的IP地址。可以有很多行的nameserver,每一个带一个IP地址。在查询时就按nameserver在本文件中的顺序进行,且只有当第一个nameserver没有反应时才查询下面的nameserver。 domain 声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。 search它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。domain和search不能共存;如果同时存在,后面出现的将会被使用。 Sortlist 允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。 最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。 host.conf 功能:解析器查询顺序配置文件 /etc/host.conf”示例: order bind,hosts,nis multi on nospoof on 参数说明: 1)order 指定主机名查询顺序, 分别代表DNS、/etc/hosts 和NIS 2)multi 指定是否"/etc/hosts"文件中指定的主机可以有多个地址,值为on 表示允许,拥有多个IP 地址的主机一般称为具有多个网络界面。 3)nospoof 指是否允许对该服务器进行IP 地址欺骗值,为on 表示不允许,IP 欺骗是一种攻击系统安全的手段,通过把IP 地址伪装成别的计算机,来取得其它计算机的信任。 4)"alert" 当nospoof 指令为on 时,alert 控制欺骗的企图是否用syslog 工具进行记录,值为on 表示使用,缺省值为off。 5)rccorder" 如果被设置为on,所有的查询将被重新排序,所以在同一子网中的主机将首选被返回,缺省值为off。

LINUX下MYSQL配置文件详解

linux下mysql配置文件https://www.wendangku.net/doc/a315510525.html,f详解【转】 basedir=path使用给定目录作为根目录(安装目录)。character-sets-dir=path给出存放着字符集的目录。 datadir=path从给定目录读取数据库文件。 pid-file=filename 为mysqld程序指定一个存放进程ID的文件(仅适用于UNIX/Linux系统);Init-V脚本需要使用这个文件里的进程ID 结束mysqld进程。 socket=filename 为MySQL客户程序与服务器之间的本地通信指定一个套接字文件(仅适用于UNIX/Linux系统;默认设置一般是 /var/lib/mysql/mysql.sock文件)。在Windows环境下,如果MySQL客户与服务器是通过命名管道进行通信的,–sock选项给出的将是该命名管道的名字(默认设置是MySQL)。 lower_case_table_name =1/0新目录和数据表的名字是否只允许使用小写字母;这个选项在Windows环境下的默认设置是1(只允许使用小写字母)。 mysqld程序:语言设置 character-sets-server= name 新数据库或数据表的默认字符集。为了与MySQL的早期版本保持兼容,这个字符集也可以用–default-character-set选项给出;但这个选项已经显得有点过时了。 collation-server=name新数据库或数据表的默认排序方式。lanuage=name用指定的语言显示出错信息。 mysqld程序:通信、网络、信息安全 enable-named-pipes 允许Windows2000/XP环境下的客户和服务器使用命名管道(named pipe)进行通信。这个命名管道的默认名字是MySQL,但可以用–socket选项来改变。 local-infile[=0]允许/禁止使用LOAD DATA LOCAL语句来处理本地文件。

linux常用服务器配置

Linux常用服务器配置 文件修改记录表 版权声明和保密须知 本文件中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属江苏金智教育信息技术有限公司所有,受到有关产权及版权法保护。任何单位和个人未经江苏金智教育信息技术有限公司的书面授权许可,不得复制或引用本文件的任何片断,无论通过电子形式或非电子形式。 Copyright 2011 江苏金智教育信息技术有限公司版权所有

目录目录

说明 文档目的 为了能够让部门工程师在以后的部署实施过程中熟悉linux下常用的业务配置,遂整理此文档。 本文详细列出了在常见环境中Linux下常用业务配置;并对具体业务进行了分析和配置示例,希望大家在以后的部署中能够严格去执行此规范。 规范文档中,尚有欠妥之处。请各位实施部署工程师及时指正! 文档适用范围 本文档使用江苏金智教育信息技术有限公司所有项目范围(含北京分公司、上海分公司、福建区域) 文档约定 XXX字符标示着根据现场实际情况来填写 红色加粗标示着必须严格按照要求填写

1NFS服务的配置 1.1NFS服务的简介 NFS(Network File Service)的设计是为了在不同的unix系统间进行档案共享。当使用者想用远端档案时只要用“mount”就可把remote文件系统挂接在自己的文件系统之下,使得远端的文件使用上和local机器的档案没两样。其目的就是让不同unix操作系统之间可以彼此共享文件。 NFS服务器的常用功能:1、可以把服务器的文件象本地一样的操作,很方便;2、NFS 服务器对系统资源占用也少;3、NFS可以支持很多其他服务,比如kickstart(kickstart是无人值守,网络批量安装服务),NIS等等。 NFS服务建立在RPC(远程过程调用)协议上的服务,使用时需要先打开portmap(端口映射)服务进程。因为本身NFS服务的功能非常多,所以通常该服务开启的端口是随机的,当NFS需要使用某个功能时,我们通常是将开启的请求发送给RPC协议上的portmap 进程,做一个端口开启与映射工作。 作为一名运维工程师,对于NFS服务的配置一定要非常的熟悉。NFS服务也是类unix 平台下最基本的常用业务。 1.2NFS服务侧写 1)NFS 服务的进程通常有:nfsd,nfslockd,rpciod,,, 2)服务启动脚本:/etc/portmap, /etc/nfs 3)使用端口:111(portmap进程的端口,通常只有这一个是固定使用端口) 4)所需RPM包:nfs-utils 5)相关RPM包:portmap(必需) 6)配置文件:/etc/exports 1.3NFS服务端的配置 通常来说,NFS服务端的配置主要是基于/etc/exports文件的编辑。初始状态下,/etc/exports文件为空。文件中的每一行,表示一个开放的目录,并记录着它开放权限。每一行中都分为三列关系:第一列,写入你需要共享的目录路径;第二列写入客户端描述,也就是哪些客户端可以使用你的服务器共享的资源;第三列是紧挨着第二列的,内容是共享信息开放的权限。具体配置实例如下:

Linux引导与配置文件加载过程

Linux引导及配置文件加载过程解读 文章分类:操作系统 ?? 本文包括3部分内容 1、 Linux的引导过程 2、 Linux 的运行级别 3、 /etc/inittab与/etc/rc.d/ 与/etc/rc.d/init.d的关系 关键词:Linux引导过程、运行级别、inittab与 init.d 与 rc.d 一、 Linux的引导过程 系统加电之后,首先进行的硬件自检,然后是bootloader对系统的初始化,加载内核。 内核被加载到内存中之后,就开始执行我们的系统设置了。一旦内核启动运行,对硬件的检测就会决定需要对哪些设备驱动程序进行初始化。从这里开始,内核就能够挂装根文件系统(这个过程类似于Windows识别并存取C盘的过程)。内核挂装了根文件系统,并已初始化所有的设备驱动程序和数据结构等之后,就通过启动一个叫init的用户级程序,完成引导进程。 二、运行级别(run level) Init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init 进程上来首先做的事是去读取/etc/目录下 inittab文件中initdefault id值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。运行级别决定了系统启动的绝大部分行为和目的。这个级别从0到 6 ,具有不同的功能。不同的运行级定义如下:# 0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动) # 1 - 单用户模式 # 2 - 多用户,没有 NFS # 3 - 完全多用户模式(标准的运行级) # 4 –系统保留的 # 5 - X11 (x window) # 6 - 重新启动(千万不要把initdefault 设置为6,否则将一直在重启) 三、 /etc/rc.d/与/etc/rc.d/init.d的关系 先解释一下init.d。这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本。系统在安装时装了好多rpm包,这里面就有很多对应的脚本。执行这些脚本可以用来启动、停止、重启这些服务。 /etc/rc.d/init.d这个目录下的脚本就类似与windows中的注册表,在系统启动的时候执行。程序运行到这里(init进程读取了运行级别),就开始有选择地启动服务了,这时刚才说的运行级别就起作用了。在决定了系统启动的run level之后,/etc/rc.d/rc这个脚本先执行。在RH9的源码中它都是一上来就check_runlevel(),知道了运行级别之后,对于每一个运行级别,在rc.d下都有一个子目录分别是rc0.d,rc1.d ….. rc6.d。每个目录下都是到init.d目录的一部分脚本一些链接。每个级别要执行哪些服务就在相对应的目录下,比如级别5要启动的服务就都放在rc5.d下,但是放在这个rc5.d下的都是一些链接文

Linux配置文件详解

Linux配置文件详解 本文说明了 Linux 系统的配置文件,在多用户、多任务环境中,配置文件控制用户权限、系统应用程序、守护进程、服务和其它管理任务。这些任务包括管理用户帐号、分配磁盘配额、管理电子邮件和新闻组,以及配置内核参数。本文还根据配置文件的使用和其所影响的服务的情况对目前Red Hat Linux 系统中的配置文件进行了分类。 介绍 每个 Linux 程序都是一个可执行文件,它含有操作码列表,CPU 将执行这些操作码来完成特定的操作。例如,ls 命令是由 /bin/ls 文件提供的,该文件含有机器指令的列表,在屏幕上显示当前目录中文件的列表时需要使用这些机器指令。几乎每个程序的行为都可以通过修改其配置文件来按照您的偏好或需要去定制。 Linux 中有没有一个标准的配置文件格式? 一句话,没有。不熟悉 Linux 的用户(一定)会感到沮丧,因为每个配置文件看起来都象是一个要迎接的新挑战。在 Linux 中,每个程序员都可以自由选择他或她喜欢的配置文件格式。可以选择的格式很多,从 /etc/shells 文件(它包含被一个换行符分开的 shell 的列表),到 Apache 的复杂的 /etc/httpd.conf 文件。 什么是系统配置文件? 内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开 /etc/passwd 文件。相反,程序应该调用系统库的 getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核(通过系统库)决定的。 除非另行指定,Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。配置文件可以大致分为下面几类: 访问文件 /etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过 netconf 对其进行更改) /etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网

史上最全Linux配置文件介绍及VI编辑器的使用方法

一、/etc 配置文件 /etc/passwd 用户数据库,其中的域给出了用户名、真实姓名、家目录、加密口令和用户的其他信息 /etc/group 类似/etc/passwd ,但说明的不是用户而是组。 /etc/inittab init 的配置文件 /etc/issue 在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。内容由系统管理员确定。 /etc/motd 成功登录后自动输出,内容由系统管理员确定,经常用于通告信息,如计划关时间的警告。 /etc/mtab 当前安装的文件系统列表。由scripts 初始化,并由mount 命令自动更新。需要一个当前 安装的文件系统的列表时使用,例如df 命令,当df –a 时,查看到的信息应和其一致。 /etc/shadow 在安装了影子口令软件的系统上的影子口令文件。影子口令文件将/etc/passwd 文件中的 加密口令移动到/etc/shadow 中,而后者只对root 可读。这使破译口令更困难。 /etc/login.defs login 命令的配置文件

/etc/profile , /etc/csh.login , /etc/csh.cshrc 登录或启动时Bourne 或C shells时执行的文件。这允许系统管理员为所有用户建立全局缺省环境 /etc/printcap 类似/etc/termcap ,但针对打印机。语法不同。 /etc/securetty 确认安全终端,即哪个终端允许root 登录。一般只列出虚拟控制台,这样就不可能 (至少很困难)通过modem 或网络闯入系统并得到超级用户特权。 /etc/shells 列出可信任的shell。chsh 命令允许用户在本文件指定范围内改变登录shell。提供一 台机器FTP 服务的服务进程ftpd 检查用户shell 是否列在 /etc/shells 文件中,如果不是将不允许该用户登录。 /etc/termcap终端性能数据库。说明不同的终端用什么"转义序列"控制。写程序时不直接输出转义序列(这样 只能工作于特定品牌的终端),而是从/etc/termcap中查找要做的工作的正确序列。这样,多数的 程序可以在多数终端上运行。 /etc/inputrc 输入设备配置文件

Linux网络命令及配置文件 -

第九章Linux网络命令及配置文件 本章在读者掌握了网络基本知识的基础上对linux常用网络命令及主要配置文件做了详细的介绍。 9.1 linux常用网络命令 本节将着重介绍linux下的常用网络命令。如网卡设置命令ifconfig、netconfig。连接监听命令netstat。文件下载命令wget。设置某个服务在特定运行级别运行的命令chkconfig、ntsysv。域名解析命令nslookup、host、dig。 9.1.1 ifconfig命令 【命令功能】 添加、修改、显示临时性ip地址信息。通过ifconfig命令添加或修改ip地址。只是临时有效。当重启network服务或重启计算机系统时,用ifconfig创建的ip地址将无效。 【语法结构】 ifconfig [interface] ifconfig interface [aftype] options | address ... ifup/ifdown {接口} 【参数说明】 参数:如表9.1所示。 表9.1 ifconfig命令参数 【执行范例】 (1)显示所有网络设备接口信息。 # ifconfig –a (2)操作结果如下。 eth0 Link encap:Ethernet HWaddr 00:11:09:FB:1E:D3 inet addr:172.16.100.98 Bcast:172.16.100.255 Mask:255.255.255.0 inet6 addr: fe80::211:9ff:fefb:1ed3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:100063 errors:0 dropped:0 overruns:0 frame:0 TX packets:1836 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000

linux配置命令

linux常用命令 内部命令装完linux就有的命令就是内部命令 系统命令放在/bin or /sbin /sbin放置的是系统管理员可以使用的命令。 #ls - h 命令动词命令选项(option) login 让用户登录系统,通过它可以随时变换身份。exit 退出当前系统&shell reboot 重启命令 init6 重启命令 halt 关机含参数建议不使用对机器损耗大 halt -f -p 直接切断电源 poweroff 关机同shutdown init 0 unix 关机的命令 date 查看日期,时间 date 月日小时分年 pwd 查看当前目录 ~ 代表登录目录,谁登录就代表谁的登录目录。 根下root目录是系统管理员的登录目录。 $ 代表的是普通用户 # 代表的就系统管理员 clear 清屏(ctrl+l) ls 列出文件和目录的属性信息 绿色代表可执行文件 红色代表压缩文件 浅蓝代表链接文件 灰色代表其他文件 黄色代表设备文件 白色红背景代表链接失效 ls -F 加类别标识 ls -a 显示隐藏档案 ls -l 显示详细信息,此命令等同于ll ls -d 显示目录,又不是其内容。 ls -ld 查看目录本身的详细信息,又不显示目录中的内容。ls -h 以k、m、b的形式显示 ls -s 显示大小不一K M B形式显示 / 是目录表示符 linux没有扩展名概念 没有盘符的概念 linux中的文件类型 d 目录 s 套接字文件 l 符号链接(指向另一个文件) b 块设备文件。(代表磁盘和光盘)

c 字符设备文件 p 命令管道文件 - 普通文件 cd 更改当前 cd .. 返回上一级目录 cd / 直接返回根 rmdir 删除目录只能删除空目录 rm -r 直接删除 rm -rf 强制删除 mkdir 创建目录 mkdir -p 当建立子目录的时候,父目录不存在直接建立 whereis 在特定的目录中查找符合条件的文件 which 直找档案资料库,速度快。 在linux当中一切皆文件 cat 连续显示,查看文件的内容但不可修改 cat /root/install.log cat /root/install.log |more 分屏 cat -n /root/install.log 显示内容同时并加行号 cat -n/root/install.log |more 显示行号加分屏 cat install.log |grep “scim” grep“scim” install.log grep 在指定 grep 过滤出有用的行 grep “open”install.log 把在这个文件中带有open的行全部过滤出来 grep “^3”所有以三开头的文件被过滤出来 grep “3$”所有以三结尾的文件被过滤出来 more install.log打开文件并进行分屏显示 less 分页可查看文件内容,于more不同的是,他可以回滚按Q终止 ln -s /root/install.log /loo 给install在根下创建一个软连接。为谁创建必须是绝对路径 创建完了放在哪可以写绝对路径,也可以写相对路径。 wc (跟上所要查看的文件)显示档案的相关信息行数字数字节数档案名 head 查看一个文件的前10行默认前10 head -?查看?代表前几行 tail 查看一个文件的后10行默认后10 . tail -??代表后几行 linux组建文件结构 从根写起的路径叫做绝对路径 相对于当前位置所写起的路径叫做相对路径 touch(触摸)1 正常功能是更新文件的访问日期反向功能是当它没有触摸到这个文件的时候,就会创建一个文件(一般使用反方向来创建空文件) cp 原位置目标位置cp 1 test cp -R test test2 mv 原位置目标位置mv 1 test 在复制的时候不用加参数,在复制文件夹的时候要加上-Respectfully yours,

理解 Linux 配置文件

理解Linux 配置文件 介绍 每个 Linux 程序都是一个可执行文件,它含有操作码列表,CPU 将执行这些操作码来完成特定的操作。例如,ls 命令是由 /bin/ls 文件提供的,该文件含有机器指令的列表,在屏幕上显示当前目录中文件的列表时需要使用这些机器指令。几乎每个程序的行为都可以通过修改其配置文件来按照您的偏好或需要去定制。 Linux 中有没有一个标准的配置文件格式? 一句话,没有。不熟悉 Linux 的用户(一定)会感到沮丧,因为每个配置文件看起来都象是一个要迎接的新挑战。在 Linux 中,每个程序员都可以自由选择他或她喜欢的配置文件格式。可以选择的格式很多,从 /etc/shells 文件(它包含被一个换行符分开的 shell 的列表),到 Apache 的复杂的 /etc/httpd.conf 文件。 什么是系统配置文件? 内核本身也可以看成是一个“程序”。为什么内核需要配置文件?内核需要了解系统中用户和组的列表,进而管理文件权限(即根据权限判定特定用户(UNIX_USERS)是否可以打开某个文件)。注意,这些文件不是明确地由程序读取的,而是由系统库所提供的一个函数读取,并被内核使用。例如,程序需要某个用户的(加密过的)密码时不应该打开 /etc/passwd 文件。相反,程序应该调用系统库的 getpw() 函数。这种函数也被称为系统调用。打开 /etc/passwd 文件和之后查找那个被请求的用户的密码都是由内核(通过系统库)决定的。 除非另行指定,Red Hat Linux 系统中大多数配置文件都在 /etc 目录中。配置文件可以大致分为下面几类: 访问文件 /etc/host.conf 告诉网络域名服务器如何查找主机名。(通常是 /etc/hosts,然后就是名称服务器;可通过 netconf 对其进行更改) /etc/hosts 包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成,就可以使用它。对于简单的主机名解析(点分表示法),在请求 DNS 或 NIS 网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。 /etc/hosts.allow 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 /etc/hosts.deny 请参阅 hosts_access 的联机帮助页。至少由 tcpd 读取。 引导和登录/注销 /etc/issue & /etc/https://www.wendangku.net/doc/a315510525.html, 这些文件由 mingetty(和类似的程序)读取,用来向从终端(issue)或通过 telnet 会话(https://www.wendangku.net/doc/a315510525.html,)连接的用户显示一个“welcome”字符串。它们包括几行声

Linux下常用配置文件及常用命令的介绍

Linux下常用配置文件及常用命令的介绍/etc/sysconfig/network 包括主机基本网络信息,用于系统启动/etc/sysconfig/network-script/ 此目录下是系统启动最初始化网络的信息 /etc/sysconfig/network-script/ifcfg-eth0 网络配置信息 /etc/xinetd.conf 定义了由超级进程XINETD启动的网络服务 /etc/protocols 设定了主机使用的协议以及各个协议的协议号 /etc/services 设定了主机的不同端口的网络服务 // 网络配置工具 # redhat-config-network /* 使用ifconfig命令配置并查看网络接口情况*/ //配置eth0的IP,同时激活设备 # ifconfig eth0 192.168.168.119 netmask 255.255.255.0 up //配置eth0别名设备eth0:1 的IP,并添加路由 # ifconfig eth0:1 192.168.168.110 # route add –host 192.168.168.110 dev eth0:1 //激活(禁用)设备 # ifconfig eth0:1 up(down) //查看所有(指定)网络接口配置 # ifconfig (eth0) /* 使用route 命令配置路由表*/ //添加到主机路由 # route add –host 192.168.168.110 dev eth0:1 # route add –host 192.168.168.119 gw 192.168.168.1 //添加到网络的路由 # route add –net IP netmask MASK eth0 # route add –net IP netmask MASK gw IP # route add –net IP/24 eth1 //添加默认网关 # route add default gw IP //删除路由 # route del –host 192.168.168.110 dev eth0:1 /* 常用命令*/ # traceroute https://www.wendangku.net/doc/a315510525.html, # ping https://www.wendangku.net/doc/a315510525.html, //显示网络接口状态信息 # netstat –I //显示所有监控的服务器的Socket和正在使用Socket的程序信息 # netstat –lpe //显示内核路由表信息 # netstat –r # netstat –nr //显示TCP/UDP传输协议的连接状态 # netstat –t # netstat –u //更改主机名

Linux基本网络配置

实验四Linux基本网络配置 一、实验内容 1.linux图形界面方式和命令方式下对网络的配置 2.网络配置文件的含义 二、实验目的及要求 1.掌握在图形界面方式配置网络 2.掌握在命令方式下配置网络 3.理解网络配置文件的含义 三、实验环境及条件 软件:PC 机操作系统REDHAT LINUX 9.0 。 四、实验实施步骤 1.图形界面方式配置网络 对一个Linux系统进行网络配置,配置的主要参数如下: 网络IP地址:211.85.203.22 子网掩码:255.255.255.0 默认网关:211.85.203.254 DNS服务器地址:211.85.192.8 启动redhat-config-network管理工具,方法有以下两种: 1)依次单击面板上的“主菜单→系统设置→网络”,可打开如图对话框。 2)在终端的提示符下输入“redhat-config-network”命令,可打开如图对话框。

2、使用常用命令配置网络(1)hostname # hostname https://www.wendangku.net/doc/a315510525.html, # hostname https://www.wendangku.net/doc/a315510525.html, (2)ifconfig

(3)ifup和ipdonw (4)ping 3、熟悉网络配置文件 请查看网络设置文件/etc/sysconfig/network 请查看主机名文件/etc/HOSTNAME 请查看IP地址和主机名的映射文件/etc/hosts 请查看配置DNS客户文件/etc/resolv.conf

五、思考题 在局域网中有一台Linux主机,其通过网关连接到互联中,现在该Linux主机不能通过浏览器访问到互联网中的某个站点,通常如何查找故障?

Linux中环境变量文件及配置+++

Linux中环境变量文件及配置 一、环境变量文件介绍 转自:://https://www.wendangku.net/doc/a315510525.html,/cscmaker/article/details/7261921 Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。 所以管理环境变量的文件也分为系统级和用户级的,下面贴一个网上找到的讲的比较明白的文件介绍(略作修改)[1]: 1.系统级: (1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。 /etc/bash.bashrc:系统级的bashrc文件。 (2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。 2.用户级(这些文件处于家目录下): (1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方 (2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。 ~/.bash_profile or ~./bash_login:这里没有引用作者的,下面会提到 ~/.pam_environment:用户级的环境变量设置文件,没有做测试,不知道管不管用。 通过上面的文件介绍,就能明白我们需要设置环境变量的时候,需要修改什么文件,要想对所有的用户生效,那就需要设置系统级的环境变量。反之,需要修改用户级的文件(最好是修改.profile文件,理由上面已经讲了)。 另外,我使用的是Ubuntu10.04,之前在查找资料设置用户级环境变量的时候,有资料说要修改~.bash_profile文件,但是在ubuntu10.04系统中是没有该文件。经查找,在ubuntu官网[2]上找到了这个文件的说明: ~/.bash_profile or ~./bash_login - If one of these file exist, bash executes it rather then "~/.profile" when it is started as a login shell. (Bash will prefer "~/.bash_profile" to "~/.bash_login"). However, these files won't influence a graphical session by default. 意思应该是说当这个文件存在时,在登录shell时会读取./bash_profile文件,而不是.profile文件。我认为该文件实现的目的跟.profile文件是一样的,当查找的资料中需要你修改.bash_profile文件,但却你没有该文件的时候,也可以修改.profile来完成实现。 [1]://https://www.wendangku.net/doc/a315510525.html,/2010/05/1/UbuntuEnvironmentVariablesSet.html [2]s://https://www.wendangku.net/doc/a315510525.html,/community/EnvironmentVariables 二、配置环境变量实战 1.配置java环境变量 (1)首先在官方网站上下载jdk安装文件,我下载的为:jdk-7u5-linux-i586.tar.gz,当然也可以下载.bin格式的文件,但是这种文件与本文介绍的tar格式的文件在解压缩方面有所不同,这里不再详细介绍; (2)解压缩该文件,解压后的文件名为:jdk1.7.0_05;将其拷贝到一个文件目录,我放入的是:/home/stopit/software目录,所以当前jdk路径为/home/stopit/software/jdk1.7.0_05,这里将/home/stopit/software/jdk1.7.0_05用xxx替代; (3)根据上文介绍的几个linux环境变量文件,我们选择profile文件写入我们的环境变量;使用suodo gedit /etc/proifle 命令打开该文件,并输入以下命令: #修改java运行环境 export JAVA_HOME="xxx" export PATH="$PATH:$JAVA_HOME/bin" export JRE_HOME="$JAVA_HOME/jre" export CLASSPATH=".:$JAVA_HOME/lib:$JRE_HOME/lib" (4)修改完成后,使用source /etc/profile 命令进行更新; (5)下面这几步比较重要,因为在许多linux系统中都预装了openjdk,所以即使上面进行了这些设置,系统默认的还不是我们要设置的内容;如果要真正使用我们自己的jdk,还需要一下步骤: sudo update-alternatives --install /usr/bin/java java xxx/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac xxx/bin/javac 300 (这里的300只是标识一下,没什么意义,只是下一步要用到) sudo update-alternatives --config java 执行这步会列出系统上的所有已安装的java,然后自己选择,即选最后为300的那个 sudo update-alternatives --config javac 同上 注意:有些文章上说仅仅使用一下语句即可: sudo update-alternatives –config java,笔者没有尝试过! (6)大功告成,使用java -version 命令来查看我们的java环境变量,显示如下内容: java version "1.7.0_05" Java(TM) SE Runtime Environment (build 1.7.0_05-b06) Java HotSpot(TM) Server VM (build 23.1-b03, mixed mode) 2.配置tomcat环境变量 (1)从官方网站上下载tomcat软件包。 ://https://www.wendangku.net/doc/a315510525.html,/ 点击左侧的download的一个版本,我选择的是tomcat6.x,你可以根据自己的实际情况进行选择安装,点击超连接,选择Binary Distributions 下

Linux系统中的常用配置文件

Linux系统中常用的配置文件汇总解析 注:为了方便记忆和学习,对Linux系统中常用的配置文件有一个整体上的认识和把握,知道一些常用配置文件有哪些主要的选项和用途。其中有错误的地方,欢迎兄弟们给予改正。 一、系统引导流程中的配置文件 1./etc/inittab 格式:id:run-levels:action:process 含义:id 标识符,一般为两位字母或数字 run-levels 运行级别,可以指定多个 action 执行的状态和要求. action 常用取值: initdefault 指定系统缺省启动的运行级别 sysinit系统启动任何运行级别都执行process wait 执行process中的指定命令并等其结再执行其他命令 crtlaltdel按下crtl+alt+del时执行process指定的命令process 运行脚本的命令 作用:init进程通过读取它来执行相应的运行级别和状态,从而继续引导系统 2./boot/grub/grub.conf 格式: 含义:default定义缺省启动系统(多系统时才有意) timeout定义默认等待时间(值为0则不等待) splashimage定义grub的界面图片 hiddenmenu隐藏菜单 title定义菜单项名称 root定义系统内核所在的分区 kernel指定内核所在位置 initrd指定镜像文件所在位置 作用:对自举程序grub菜单以及grub加载内核所需要的系统配置信息的设定.

二、软件包管理中的修改Y um源为光盘 1. /etc/yum.repos.d/CentOS-Media.repo 格式: 含义:baseurl指定yum源的路径 enable=1表示启用=0表示不启用 作用:通过配置此文件,可以自己制作yum源,如图,/mnt/cdrom这是指定光盘的挂载点为yum源,即以光盘作为yum源。 三、用户及用户组配置文件 1. /etc/passwd 格式: 用户名:密码位:UID: GID: 描述:宿主目录:shell类型 含义:用户名字母和数字组成 密码位Linux历史遗留问题。明文转为密文放入shadow文件 UID 用户标识 GID 缺省用户组标识 描述用户的描述信息 宿主目录用户登录系统后的缺省目录 Shell类型用户使用的shell 作用:存放用户的信息 2./etc/shadow 格式:用户名:密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:账号闲置时间:失效时间:标识 含义:最后一次修改时间用户最后一天修改密码的天数 最小时间间隔两次修改密码之间的最小天数 最大时间间隔密码保持有效的最多天数。 警告时间从系统开始警告到密码失效的天数

相关文档
相关文档 最新文档