日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux配置汇总上(北大青鸟Linux课程学习总结)

發布時間:2024/4/15 linux 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux配置汇总上(北大青鸟Linux课程学习总结) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、基本網絡配置
1.基本配置文件
/etc/hosts:是將IP地址和主機名聯系起來的簡單文本文件。
格式:IP地址 全限定主機名 別名
舉例:192.168.0.2 wanghui.shuke.com wanghui
說明:將IP地址映射到wanghui.shuke.com,并且分配一個備用主機名wanghui。

/etc/services:將服務的名字轉成端口號。
注意:沒有必要修改,已經包含了常用服務的端口號。
格式:主機服務名 端口號/端口類型 別名
舉例:smtp 25/utp mail
說明:smtp服務使用25端口,使用utp連接方式,服務別名是mail。

/etc/sysconfig/network:網絡配置信息,系統啟動時會引導這個文件。
內容:
NETWORKING=YES|NO
YES表示需要配置網絡,NO表示不需要配置網絡;
HOSTNAME=homename
主機的全限定域名;
GATEWAY=gw-ip
網絡網關的IP地址;
GATEWAYDEV=gw-dev
網絡設備的名稱(例如eth0或者IP地址);
NISDOMAIN=dom-name
表示NIS域(如果有的話)。

2.可執行腳本和命令
/etc/rc.d/init.d/network {start|stop|restart|reload|status}
系統啟動時的初始化腳本程序。

/etc/sysconfig/network-scripts/ifcfg-interface-name:網卡配置文件。
內容:
DEVICE=物理設備名
IPADDR=IP地址
NETMASK=掩碼值
NETWORK=網絡地址
BROADCAST=廣播地址
GATEWAY=網關地址
ONBOOT=[yes|no](引導時是否激活設備)
USERCTL=[yes|no](非root用戶是否可以控制該設備)
BOOTPROTO=[none|static|bootp|dhcp](引導時不使用協議|靜態分配|BOOTP協議|DHCP協議)

ifconfig:命令用來在系統內核表中設置或讀取網絡設備參數
舉例:ifconfig eth0 IP地址 netmask 子網掩碼
說明:配置IP和子網
舉例:ifconfig eth0 hw ether MAC地址
說明:配置mac地址
舉例:ficonfig dynamic
說明:啟動dhcp
舉例:ifconfig eth0 [down|up]
說明:啟動或關閉網卡

netconfig:通過通行界面配置網絡。

3.DNS
/etc/host.conf:指定如何解析主機名。
舉例:order hosts,bind
說明:查詢順序,先靜態還是先dhcp

/etc/nsswitch.conf:用于管理系統中多個配置文件查找的順序。

/etc/resolv.conf:網絡用來確定主機解析的關鍵文件之一,最多標示三個。
格式:search lintec.edu.cn
? ? nameserver 202.106.196.152
? ? nameserver 202.106.196.115
說明:nameserver表明dns服務器的IP地址;search指明域名查詢順序。

4.路由設置及管理命令
route:顯示路由信息
內容:
Destination:目標網絡或主機
Gateway:該目標要經由哪個網關傳送
Genmask:目標網絡或主機的掩碼
Flages:路由標志
Iface:該路由使用的網絡接口
Metric:路由成本
Ref:此路由被使用的次數

添加路由命令:
route add -net 192.192.192.0 netmask 255.255.255.0 dev eth0

刪除路由命令:
route del -net 192.192.192.0 netmask 255.255.255.0

traceroute:測試路由命令
舉例:traceroute [url]www.sina.com.cn[/url]
說明:測試從本地到遠程主機的路由信息

二、郵件服務
1.MUA與NTA:
MUA:郵件用戶代理,常用的有:Foxmail, Outlook Express, Pine, mail等。
MTA:郵件傳送帶里,常用的有:Sendmail, Qmail, Postfix, Exim, Exchange等

2.sendmail安裝包:
sendmail-812.8-4:sendmail可執行文件
sendmail-cf-812.8-4:sendmail.cf生成器
sendmail-doc-812.8-4:sendmail.doc文檔

3.sendmail的主要配置文件:
/etc/mail/aliases
用來定義郵件的列表、轉發、別名。
注意:每次修改了aliases文件后,要使用命令newaliases更新數據庫。
舉例:fox: shuke
說明:系統用戶shuke具有fox的別名。
舉例:maillist: shuke liu wang zhang
說明:發送給maillist的郵件,shuke,liu,wang,zhang用戶都能收到。
舉例:shuke: [email]shuke.w@163.com[/email]
說明:發送給本地shuke的用戶會被轉發給[email]shuke.w@163.com[/email]這個郵箱。

/etc/mail/sendmail.cf
用來限定sendmail守護進程的運行,在264行左右。

/etc/mail/sendmail.mc
sendmail.cf中的文件太復雜,可以通過編輯sendmail.mc文件,然后生成sendmail.cf文件。
命令:m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf


/etc/mail/local-host-names
定義本地主機名和域名的列表,判斷收到的郵件是本地的還是遠程的。

/etc/mail/access.db
用來定義要通過的郵件地址列表,是允許還是拒絕。
每次修改后,需要用makemap生成新的access數據庫。
命令:makemap hash /etc/mail/access.db < /etc/mail/access

/etc/mail/sendmail.cw
當一個主機有多個域名,并且希望每個域名都能用來接收電子郵件時,可以在該文件中加入這些域名,sendmail會接受這些域名的郵件,并把他們當作本地郵件處理。
舉例:vi /etc/mail/sendmail.cw
cuckoo.edu.cn
napoleon.frh.org
說明:這兩個域名的郵件都會被這臺機器接收。

/etc/mail/virtusertable
建立虛擬郵件賬戶。
舉例:[email]shuke@mail.shuke.com[/email] shuke1
? ? [email]shuke@shuke.com[/email] shuke2
說明:[email]shuke@mail.shuke.com[/email]的郵件被接收,并放在shuke1郵箱,[email]shuke@shuke.com[/email]郵件被接收,放在shuke2郵箱。
注意:修改后必須生成新的數據庫文件。
命令:makemap hash /etc/mail/virtusertable.db < /etc/mail/virtusertable

4.其他文件
/var/spool/mqueue:是郵件隊列臨時存放的目錄。
內容:
qf*:消息隊列控制文件;
df*:數據文件;
tf*:臨時文件;
nf*:每個用戶對應的消息隊列;
xf*:當前會話過程的transcript文件。

/var/mail:存放所有收到的郵件,每個本地用戶會有一個目錄。

var/log/maillog:用于分析錯誤的日志文件。

5.增加sendmail的認證功能
需要使用的安裝包:
cyrus-sasl-devel-2.1.10-4
cyrus-sasl-md5-2.1.10-4
cyrus-sasl-gssapi-2.1.10-4
cyrus-sasl-2.1.10-4
cyrus-sasl-plain-2.1.10-4

注意:在sendmail已經包括sasl驗證庫的情況下,默認不支持smtp認證,需要配置/etc/mail/sendmail.mc文件支持smtp認證。編輯文件/etc/mail/sendmail.mc文件,并去掉下面三個文件前面的注釋:
TRUST_AUTH_MECH (`EXTERNAL DIGEST-MD5 LOGIN PLAIN ') dnl
define (`confAUTH_MECHANISMS', ` EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN ') dnl
DAEMON_OPTIONS (`Port =submission, Name=MSA, M=Ea') dnl
并配置下面的地址為本機IP地址:
DAEMON_OPTIONS (`Port =smtp,Addr=192.168.10.2,Name=MSA, M=Ea') dnl
使用m4工具生成sendmail.mc文件:
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

6.安裝配置POP3和IMAP服務器
使用的安裝包:imap-2001a-28

編輯兩個文件:/etc/xinetd.d/ipop3文件和/etc/xinetd.d/imap文件,修改disable設置為"no",然后使用啟動進程命令:/etc/rc.d/init.d/xinetd restart即可。

三、APACHE服務器與APACHE+MYSQL+PHP協同服務
1.Apache的主要配置文件:httpd.conf
/etc/httpd/conf/httpd.conf
或者
/usr/local/apache/conf/httpd.conf

httpd.conf的內容:
Serverroot:設置服務器存在的主目錄;

LockFile filename:httpd守護進程的加鎖文件,一般不需要設置,如果Serverroot是NFS文件系統,就需要修改參數指定本地文件系統中的路徑;

ScoreBoardFile file-path:httpd使用ScoreBoardFile來維護進程的內部數據,因此除非要在一臺計算機上運行幾個Apache服務器,否則不需要修改;

PidFile /var/run/httpd.pid:指定文件記錄httpd的守護進程號;

Timeout number:定義客戶程序和服務器連接的超時間隔;

KeepAlive on|off:用于支持http1.1版本的一次連接、多次傳輸功能,這樣就可以在一次連接中傳遞多個http請求;

MaxKeepAliveRequests number:一次連接可以進行的http請求最大數。如果數值為0,將支持在一次連接內進行無限制的傳輸請求;

KeepAliveTimeout number:測試一次連接中的多次請求傳輸之間的時間,如果在完成了一次連接之后沒有收到客戶程序的下一次請求,超過這個間隔值后,就會斷開;

StartServers number:服務器啟動時建立的進程數量;

MinSpareServers/MinSpareThreads number:服務器最低維持的空進程數;

MaxSpareServers/MaxSpareThreads number:服務器運行時維持的最大空進程數;

MaxClients number:服務器運行時可以同時處理的客戶端最大數量;

MaxRequestsPerChil number:設置每個進程可處理的請求數,達到這個數值后,子進程自動銷毀,如果設置為0,則永不銷毀子進程;

Listen [IP-address:]portnumber:設置apache監聽的端口,默認為80;

LoadModule module filename:在apahce安裝過程中,被配置為--enable-module=shared的apache模塊,會被獨立的編譯成*.so的動態共享對象。當服務器需要加載這個動態對象時,必須在httpd.conf中使用LoadModule指令,指定在服務器啟動或重新啟動時被加載;
舉例:LoadModule foo_module modules/foo.so

ExtendedStatus On|Off:apache服務器可以通過特殊的http請求,報告自身的運行狀態,打開這個ExtendedStatus參數,可以讓服務器報告更全面的運行狀態信息;

User unix-userid:服務器以root身分啟動以后,改變為設置的用戶身份運行;

Group unix-grouprid:服務器以root身分啟動以后,改變為設置的組身份進行運行;

ServerName 完整的域名/IP地址[:端口號]:默認不需要修改,如果服務器名字解析有問題,在此修改;

ServerAdmin 郵件地址:設置的在返回給客戶端的錯誤信息中要包含的郵件地址;

UseCanonicalName on|off|dns:on-使用ServerName值生成的默認web站點構造服務器的規范名稱,off-使用由客戶提供的主機頭指令的主機名稱和端口號為服務器構造默認的web站點,dns-使用dns執行客戶連接IP地址搜索時確定的主機名構造服務器默認的web站點;

DocumentRoot /usr/local/apache/htdocs:設置客戶端訪問服務器時,可允許訪問的根目錄;
舉例:DocumentRoot /usr/web
注意:最后的目錄不要加"/"符號。

<Directory 目錄路徑>...</Directory>:用于封裝一組命令,使之僅對某個目錄及其子目錄生效;
舉例:
<Directory /usr/local/apache/htdocs/pics>
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Options [+|-]可選項[+|-]可選項...:設置在特定目錄中將使用那些服務器特性,默認為ALL;

AllowOverride All|None|指令類型[指令類型]...:當服務器發現了一個.htaccess文件(由AccessFileName指定)時,它需要知道在這個文件中聲明的哪些指令;

Order規則:控制缺省的訪問狀態和Allow,Deny指令被評估的順序;
舉例:
<Directory /www>
order Allow,Deny
Allow from shuke.com
Deny from no.shuke.com
說明:shuke.com域中的所有主機,除了no.shuke.com子域中包含的主機外都允許訪問。所有不在shuke.com域中的主機都不允許訪問。

Allow from all|host|env=env-variable [host|env=env-variable]...:哪些主機可以訪問服務器的一個區域,可以用主機名,IP地址,IP地址范圍或者其他環境變量中捕獲的客戶端請求特性來對訪問進行控制;

Deny from all|host|env=env-variable [host|env=env-variable]...:允許基于主機名,IP地址或者環境變量限制對服務器的訪問;

UserDir Directory:設定了用戶宿主目錄下的一個實際目錄,存放了該用戶提供訪問的文檔。apache允許系統的每個用戶建立自己的網站,用戶只需要在自己的主目錄下建立一個目錄,并以UserDir指令設置目錄名(默認為public_html),把提供訪問的文件存放在該目錄下,則在客戶端可以使用類似的地址訪問;
舉例:[url]http://webserver/~[/url]用戶名/guess.html
說明:服務器向客戶端返回/home/用戶名/guess.html頁面。

DirectoryIndex filename:設置默認的網站訪問頁面;
舉例:DirectoryIndex index.html
說明:必須在客戶端方式index.html為站點的索引文件。

AccessFileName 文件名:指定所有發布目錄中的配置文件名;
舉例:AccessFileName .htaccess
說明:在返回文檔/usr/local/web/index.html之前,服務器會為此指令讀取/.htaccess, /usr/.htaccess, /usr/local/.htaccess和/usr/local/web/.Htaccess,除非此功能已為如下代碼所禁用:
<Directory />
AllowOverride None
</Directory>

HostnameLookups on|off|double:此指令起用了DNS查詢,使得主機名能被記入日志;

ServerSignature On|Off|Email:配置服務器生成文檔的頁腳,on-簡單的增加一行關于服務器版本和正在伺服的虛擬主機的ServerName,off-沒有錯誤行,Email-額外創建一個指向ServerAdmin的"mailto:"部分;

Alias URL-path file-path|directory-path:使文檔可以存儲在DocumentRoot以外的本地文件系統中;
舉例:Alias /p_w_picpath /ftp/pub/p_w_picpath
說明:對[url]http://webserver/p_w_picpath/shuke.w[/url]的請求,服務器將返回/ftp/pub/p_w_picpath/shuke.w文件。

ScriptAlias URL-path file-path|directory-path:ScriptAlias指令的行為與Alias指令相同,但同時,他又表明此目錄中含有應該由mod_cgi中cgi-script處理器的CGI腳本;
舉例:ScriptAlias /cgi-bin /web/cgi-bin/
說明:對[url]http://myserver/cgi-bin/shuke[/url]的請求會引導服務器執行/web/cgi-bin/shuke腳本。

AddType MIME-type extension [extension]...:AddType指令在給定的文件擴展名與特定的內容類型間建立映射關系;

AddHandler handler-name extension [extension]...:指定帶extension擴展名的文件應被handler-name處理器來處理。這個映射關系會添加在所有有效的映射上,并覆蓋所有相同的extension擴展名映射;
舉例:AddHandler cgi-script .cgi
說明:把擴展名為.cgi的文件作為CGI腳本處理,一旦這個定義放在httpd.conf文件中,所有包含.cgi擴展名的文件,都會被當作CGI程序。

<VirtualHost 地址[:端口號][地址[:端口號]]...>...</VirtualHost>:用于封裝一組僅作用于特定虛擬主機的指令;

2.基于IP地址的虛擬主機:
1) 需要服務器支持一個網卡綁定多個IP地址,在Red Hat Linux9的內核中已默認支持此功能。首先需要為虛擬主機申請域名和IP,假設為本地地址為[url]www.shuke1.com:202.19.0.23[/url],申請新的域名和IP為:[url]www.shuke2.com:202.19.0.55[/url];

2) 為網卡添加新IP地址;
#/sbin/ifconfig eth0 add 202.19.0.35 netmask 255.255.255.0

3) 重新設置httpd.conf,在文件中加入;
<VirtualHost 202.19.0.35>
ServerAdmin webmaster@ shuke1.com
DocumentRoot /home/httpd/www.shuke2.com
ServerName [url]www.shuke2.com[/url]
ErrorLog /var/log/httpd/www.shuke2.com/error.log
</VirtualHost>

4) 建立相應的目錄;
#mkdir /home/httpd/www.shuke2.com
#mkdir /var/log/httpd/www.shuke2.com

5) 將相應的主業內容存放在DocumentRoot指定的目錄中;

6) 重新啟動httpd服務進程,即可提供兩個web服務器的功能。

3.基于名字的虛擬主機服務:基于名字的虛擬主機服務是比較適合使用的一種方案。他不需要更多的IP地址,而且配置簡單,無需什么特殊的軟硬件支持。現代的瀏覽器大都支持這種虛擬主機地實現方法。
1) 在DNS登記新的域名[url]www.shuke2.com[/url]指向本地IP地址;
2) 修改配置文件,增加下面內容:
NameVirtualHost 202.19.0.23
<VirtualHost 202.19.0.23>
ServerAdmin [email]webmaster@yourdomain.com[/email]
DocumentRoot /home/httpd/www.shuke1.com
ServerName [url]www.shuke1.com[/url]
ErrorLog /var/log/httpd/www.shuke1.com/error.log
</VirtualHost>

<VirtualHost 202.19.0.23>
ServerAdmain [email]webmaster@yourdomain.com[/email]
DocumentRoot /home/httpd/www.shuke2.com
ServerName [url]www.shuke2.com[/url]
ErrorLog /var/log/httpd/www.shuke2.com/error.log
</VirtualHost>
也就是在基于IP地址的配置基礎上增加一句:NameVirtualHost 202.19.0.23,最后是建立相應的目錄,將主頁內容放到相應的目錄中去。

4.Apache的日志配置:
同樣需要在httpd.conf中使用配置命令完成。
ErrorLog 文件路徑|syslog[:facility]:指定了當服務器遇到錯誤時記錄錯誤日志的文件名,默認為logs/error_log。

LogLevel級別:設置寫入錯誤日志中信息的詳細程度。
注意:建立至少使用crit級別,默認warn級別。
內容:
emerg:緊急-系統無法使用;
舉例:Child cannot open lock file. Exiting
alert:必須立即采取錯誤;
舉例:getpwuid: couldn't determine user name from uid
crit:致命情況;
舉例:socket: Failed to get a socket, exiting child
error:錯誤情況;
舉例:Premature end of script headers
warn:警告情況;
舉例:chile process 1234 did not exit, sending another SIGHUP
notice:一般重要情況;
舉例:httpd: caught SIGBUS, attempting to dump core in...
info:普通信息;
舉例:Server seems busy, (you may need to increase StarServers, or Min/MaxSpareServers)...
debug:出錯級別信息;
舉例:Opening config file...

LogFormat format|nickname [nickname]:定義日志文件的記錄格式。

CustomLog file|pipe format|nickname [env=[!]environment-variable]:對服務器的請求進行日志記錄。

TransferLog file|pipe:不允許直接定義日志格式或根據條件進行日志記錄外,與CustomLog指令有完全相同的參數和功能。

5.Apache的安裝與驗證
1) 安裝源代碼包httpd-2.0.48.tar.gz
[root@shuke src]#tar -zxvf httpd-2.0.48.tar.gz
[root@shuke src]#cd httpd-2.0.48
[root@shuke httpd-2.0.48]#./configure --prefix=/usr/local/apache --enable-so
[root@shuke httpd-2.0.48]#make
[root@shuke httpd-2.0.48]#make install
[root@shuke httpd-2.0.48]#vi /usr/local/apache/conf/httpd.conf
配置ServerAdmin的值為服務器管理員的郵箱地址:
ServerAdmin [email]webmaster@mail.shuke.com[/email]
配置ServerName的值為本機域名:
ServerName webserver.shuke.com:80
[root@shuke httpd-2.0.48]#/usr/local/apache/bin/apachectl start
[root@shuke httpd-2.0.48]#ps -aux | grep httpd
驗證apache進程已經啟動,通過客戶端在瀏覽器打開站點,看到apache歡迎頁面。

2) apache的啟動和停止的配置
復制/usr/local/apache/bin/apachectl文件到/etc/rc.d/init.d/目錄:
[root@shuke httpd-2.0.48]#cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/
編輯啟動文件:
[root@shuke httpd-2.0.48]#vi /etc/rc.d/init.d/apachectl
修改文件,在文件中'#!/bin/sh'后面加入下面兩條規則:
#!/bin/sh
#
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web Server
#
使用chkconfig命令把apachectl命令加入到系統啟動隊列中:
[root@shuke apache]#chkconfig --add apachectl
查看apachectl的狀態:
[root@shuke apache]#chkconfig --list apachectl
[root@shuke apache]#reboot
重新啟動系統,察看進程,確認apache進程已經伴隨系統啟動。

3) 查看日志
查看錯誤日志:
[root@shuke apache]#less /usr/local/apache/logs/error_log
查看訪問日志:
[root@shuke apache]#less /usr/local/apache/logs/access_log

6.Apache+Mysql+Php協同服務(順序:mysql,apache,php)
mysql的安裝步驟:
1) 建立一個mysql的組和用戶
2) ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql
3) make
4) make install
5) /usr/local/mysql/bin/mysql_install_db
初始化數據庫。
6) chown -R mysql /var/lib/mysql
設置mysql目錄的權限。
7) cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
復制配置文件。
8) /usr/local/mysql/bin/mysqld_safe --user=root &
使用root用戶啟動mysql服務。
9) /usr/local/mysql/bin/mysqladmin -u root -p password 1234
因為初始的root密碼是空的,因此修改密碼,注意(Enter Password:直接回車)。

php的安裝步驟:
1) ./configure --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
2) make
3) make install
4) cp php.ini-dist /usr/local/lib/php/php.ini
復制php配置文件到php目錄。
5) vi /usr/local/apache/conf/httpd.conf
修改apache的配置文件,添加內容:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

安裝一個論壇(zorum)的步驟:(用一個已經做好的config.php文件)
1) cp -dpR zorum_3_5/* /usr/local/apache/htdocs/zorum/
將文件拷貝到位于apache下的zorum目錄下,并賦予它可以被寫被讀的權限。
2) 啟動mysql和apache服務。
通過客戶端訪問驗證,論壇啟動成功,則協同服務正常。

四、DNS服務
1.安裝包以及模板包
安裝包:bind-9.2.1-16
模板包:caching-nameserver-7.2-7.noarch

2.配置文件
1) /etc/named.conf
主配置文件
舉例:shuke.com,IP:10.0.0.10
vi /etc/named.conf;
在(include "/etc/rndc.key";)下添加:
zone "shuke.com" IN {
type master;
file "shuke.com.zone";
allow-update { none; };
};

zone "0.0.10.in-addr.arpa" IN {
type master;
file "0.0.10.local";
allow-update { none; };
};
說明:指明了正反向解析文件的調用位置。

2) /var/named/named.ca
根域名服務器指向文件

3) /var/named/named.local
區資源文件,反向映射信息
舉例1:使用模板文件拷貝原內容到shuke.com的反向解析文件配置文件"0.0.10.local",并修改如下:
$TTL 86400
@ IN SOA nameserver.shuke.com. root.mail.shuke.com. (
? 2004010101 : Serial
? 28800 ? ? : Refresh
? 14400 ? ? : Retry
? 3600000 ? : Expire
? 86400 ? ? : Minimum
IN NS nameserver.shuke.com.

10 IN PTR nameserver.shuke.com.
11 IN PTR webserver.shuke.com.
12 IN PTR mail.shuke.com.
13 IN PTR slave.shuke.com.
說明:shuke.com的域名反向解析文件配置,指定了域名服務器:nameserver.shuke.com,指定了主機位10.11.12.13分別對應的域名。

舉例2:使用模板文件拷貝原內容到shuke.com的正向解析文件配置文件"shuke.com.zone",并修改如下:
$TTL 86400
@ IN SOA nameserver.shuke.com. root.mail.shuke.com. (
? 2004010101 : Serial
? 28800 ? ? : Refresh
? 14400 ? ? : Retry
? 3600000 ? : Expire
? 86400 ? ? : Minimum
IN NS nameserver.shuke.com.
IN MX 10 mail.shuke.com.

Localhost. IN A 127.0.0.1
nameserver IN A 10.0.0.10
webserver IN A 10.0.0.11
www IN CNAME webserver
mail IN A 10.0.0.12
slave IN A 10.0.0.13
說明:shuke.com的域名正向解析文件配置,指定了域名服務器:nameserver.shuke.com,指定了主機頭分別對應的IP地址。

4) DNS資源記錄類型
SOA:標記區數據的開始,定義影響整個區的參數;
NS:一個區的域名服務器;
A:轉換主機名到IP地址;
PTR:轉換IP地址到主機名;
MX:該域的郵件服務器;
CHANME:定義主機別名;
HINFO:描述主機硬件和操作系統信息;
TXT:文本描述信息。

3.純緩存域名服務器
不對外提供本地域名解析服務,只通過向根域名服務器或其他的域名服務器發布查詢,以解析本地網絡客戶發出的請求,并將查詢結果保存在緩存中,如果下次收到同樣域名的查詢,就不再向外發出查詢請求,直接從緩存中讀取信息返回給客戶。
1) 需要三個配置文件
vi /etc/named.conf,做如下編輯:
options {
directory "/var/named";
forwarder {202.106.0.20;213.32.9.67};
};

zone "." IN {
? type hint;
? file "named.ca";
};

zone "0.0.127.in-addr.arpa" IN {
? type master;
? file "named.local";
};
說明:forwarder選項使純緩存域名服務器接收到域名請求時,如果緩存中沒有請求的域名信息,將不直接向根域名服務器查詢,而是把請求交給forwarder指定的DNS服務器代為查詢,并在從這臺DNS獲得查詢后返回查詢請求客戶,同時在緩存中保留該信息。

2) /var/named/named.ca
不需要修改

3) /var/named/named.local
同主域名服務器的文件設置相同,提供本地回環接口的反向映射信息。

4) 完成以上三個工作,通過rndc命令啟動服務器,就可以對內網用戶提供域名解析工作了。

4.輔助域名服務器
輔助域名服務器平時可以分擔主域名服務器的負載,當主域名服務器不能正常工作時,輔助域名服務器還可以接管主服務器的工作。輔助域名服務器通過接收網絡上主域名服務器傳來的數據保持與主域名服務器的同步。輔助域名服務器的配置文件不同于主服務器,需要建立三個文件:
1) vi /etc/named.conf并做如下修改:
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
allow-update { none; };
};
zone "shuke.com" IN {
type slave;
file "shuke.com.zone";
masters { 10.0.0.10; };
};
zone "0.0.10.in-addr.arpa" IN {
type slave;
file "0.0.10.local";
masters { 10.0.0.10; };
};
說明:本地域祝基辛吸取和反向解析區設置為slave類型,即輔助域名服務器本身不具有本地域的授權信息,只能接受主域名服務器的設置信息,向外提供本地域名解析服務,主域名服務器由masters項決定。同時,本地服務器也不用建立這兩個slave區的數據文件,而是由named進程啟動時自動從主DNS服務器10.0.0.10拷貝數據內容到從DNS服務器上。自動創建這兩個主要文件。

2) /var/named/named.ca
輔助域名服務器中,此配置文件不需要修改。

3) /var/named/named.local
同主域名服務器設置。

5.調試域名服務器
nslookup和dig命令

五、文件服務
1.FTP常用命令:
![cmd [args]]:在本地機中執行交互shell后退回到ftp環境,如!ls *.zip;
account [password]:提供登陸遠程系統成功后訪問系統資源所需的密碼;
append local-file[remote-file]:將本地文件追加到遠程系統主機,若未指定遠程系統文件名,則使用本地文件名;
ascii:使用ASCII類型的傳輸方式;
bin:是用二進制傳輸方式;
bye:推出FTP會話過程;
case:在使用mget時,將遠程主機文件名中的大寫轉為小寫字母;
cd remote-dir:進入遠程主機目錄;
cdup:進入遠程主機目錄的父目錄;
close:中斷與遠程服務器的ftp會話,與open對應;
delete remote-file:刪除遠程主機文件;
dir [remote-dir][local-file]:顯示遠程主機目錄,并將結果存入本地文件;
get remote-file[local-file]:將遠程主機的文件remote-file傳至本地硬盤的local-file;
hash:沒傳輸1024字節,顯示一個hash符號"#";
help[cmd]:顯示ftp內部命令cmd的幫助信息,如help get;
lcd [dir]:將本地工作目錄切換至dir;
ls [remote-dir][local-file]:顯示遠程目錄remote-dir,并存入本地文件local-file;
mdelete [remote-file]:刪除遠程主機文件;
mget remote-files:傳輸多個遠程文件;
mkdir dir-name:在遠程主機中創建目錄;
mput local-file:將多個文件傳輸至遠程主機;
newer file-name:如果遠程主機中file-name的修改時間比本地硬盤同名文件的時間更近,則重傳該文件;
open host[port]:建立指定的ftp服務器連接,可指定連接端口;
put local-file[remote-file]:將本地文件local-file傳至遠程主機;
pwd:顯示遠程主機的當前工作目錄;
quit:同bye,退出ftp會話;
reget remote-file[local-file]:類似于get,但若local-file存在,則從上次傳輸中斷處續傳;
rhelp [cmd-name]:請求獲得遠程主機的幫助;
rstatus [file-name]:若未指定文件名,則顯示遠程主機的狀態,否則顯示文件狀態;
rename [from][to]:更改遠程主機的文件名;
restart marker:從指定的標志marker處,重新開始get或者put,如restart 130;
rmdir dir-name:刪除遠程主機目錄;
size file-name:顯示遠程主機文件大小,如size idle 7200;
status:顯示當前ftp狀態;
system:顯示遠程主機的操作系統類型;
user user-name[password][account]:向遠程主機表明自己的身份,需要密碼時,必須輸入密碼,如useranonymous my@email。

2.vsftp基本配置
1) 使用安裝包:vsftpd-1.1.3-8

2) 配置vsftpd服務
/etc/vsftpd/vsftpd.conf
內容:
anonymous_enable=YES:是否允許匿名ftp,如否,則選擇NO;
local_enable=YES:是否允許本地用戶登陸;
local_umask=022:設置本地用戶的文件掩碼為缺省022,默認值為077;
anon_upload_enable=YES:是否允許匿名上傳文件;
anon_mkdir_write_enable=YES:是否允許匿名用戶有創建目錄的權利;
dirmessage_enable=YES:是否顯示目錄說明文件,缺省是YES,但需要手工創建.message文件;
xferlog_enable=YES:是否記錄ftp傳輸過程;
connect_from_port_20=YES:是否確信端口傳輸來自20(ftp-data);
chown_username=username:是否改變上傳文件的屬主,如果需要,則輸入一個系統用戶名,可以把上傳的文件都改成root屬主;
xferlog_file=/var/log/vsftpd.log:ftp傳輸日志的路徑和名字缺省是/var/log/vsftpd.log;
xferlog_std_format=YES:是否使用標準的ftp xferlog模式;
idle_session_timeout=600:設置缺省的斷開不活躍會話時間;
data_connection_timeout=120:設置數據傳輸超時時間;
nopriv_user=ftpsecure:運行vsftpd需要的非特權系統用戶,缺省是nobody;
ascii_upload_enable=YES:是否使用ASCII方式上傳文件;
ascii_download_enable=YES:是否使用ASCII方式下載文件;
ftpd_banner=Welcome to shuke FTP service:定制歡迎信息;
deny_email_enable=YES:是否禁止匿名用戶使用某些郵件地址;
banned_email_file=/etc/vsftpd.banned_emails:如果禁止匿名用戶使用某些郵件地址,則輸入禁止的郵件地址的路徑和文件名;
chroot_list_enable=YES:是否將系統用戶限制在自己的home目錄下;
chroot_list_file=/etc/vsftpd.chroot_list:如果限制系統用戶在home目錄下,則在列表中寫出被禁止的用戶列表;
max_clients=Number:如果以standalone模式啟動,那么,只有$Number個用戶可以連接,其他用戶將得到錯誤信息,缺省是0,不限制用戶數;
message_file:設置訪問一個目錄時獲得的目錄信息文件的文件名,缺省是.message。

3) /etc/vsftpd.ftpusers
此文件記錄簿允許訪問ftp服務器的用戶名單。

4) /etc/vsftpd.user_list
此文件中指定的用戶缺省情況下不能訪問FTP服務器,在/etc/vsftpd/vsftpd.conf中設置了userlist_enable=NO的時候,僅允許列表中的用戶訪問FTP服務器。

5) 啟動ftp服務進程
/etc/rc.d/init.d/vsftpd start

6) 設置vsftpd服務開機自動啟動
chkconfig --level 2345 vsftpd on

3.wu-ftp的設置
1) 安裝包
wu-ftpd-2.6.2-13984cl

2) 安裝之后,會在/bin目錄下生成5個可執行文件:
ftpd:FTP服務器程序;
ftpshut:用于關閉ftp服務器程序;
ftpcount:顯示目前在線人數;
ftpwho:查看目前ftp服務器的連接情況;
ckconfig:檢查ftp服務器的設置是否正確;

3) 在/etc下生成了5個配置文件:
/etc/ftpusers:禁止登陸FTP服務器的用戶名;
/etc/ftpconversions:用戶在通過FTP傳輸文件的同時,對文件進行壓縮打包處理,使用默認即可;
/etc/ftphosts:禁止指定機器登陸;
/etc/ftpgroups:在access配置文件中開放SITE命令后,可以使用SITE GROUP命令來制定一個增強的訪問組合相應的密碼,若輸入的密碼有效,該用戶將變為/etc/ftpgroups文件中設置的組的成員,具有該組的訪問權限;
/etc/ftpaccess:最重要的配置文件,關系到ftp服務器能否運行。
內容:
loginfails[次數]:設置當用戶登陸到ftp服務器時,允許用戶數錯密碼的次數;
class[類名][real/guest/anonymous][IP地址]:設置FTP服務器上用戶的類別,并可對客戶端的IP地址進行限制,允許某部分的IP地址或全部的IP地址訪問;
limit[類別][人數][時間][文件名]:設置指定的時間內指定的類別允許連接的指定人數上限,當達到人數上限的時候,顯示指定文件的內容;
message [文件名稱][指令]:當用戶執行所指定的指令時,系統將指定的文件內容顯示出來;
passwd-check[none/trivial/rfc822][enforce/warn]:設置對匿名用戶anonymous的密碼使用方式。none-不做密碼驗證,trival-只要輸入的密碼中含有字符"@"就可以登陸,rfc822-表示密碼一定要符合RFC822中所規定的E-mail格式才能登陸,enfore-表示輸入的密碼不符合以上的指定格式就不允許登陸,warn-表示密碼不符合規定只出現警告信息,可以登陸;
logcommand [real/guest/anonymous]:設置哪些用戶登陸后的操作記錄在文件/usr/adm/xferlog中;
delete [yes/no][real/guest/anonymous]:設置是否允許指定用戶使用delete命令刪除文件,允許缺省,例如:delete no anonymous,guest;
overwrite [yes/no][real/anonymous/guest]:設置是否允許指定用戶覆蓋同名文件,缺省是允許,但一般不允許匿名用戶覆蓋文件;
chmod [yes/no][real/anonymous/guest]:設置是否允許指定用戶使用chmod命令更改文件權限,缺省是允許;
alias [目錄別名][目錄名]:給指定目錄設置一個別名,在切換目錄時,就可以使用較短的目錄別名;
deny [IP地址/域名][說明文件]:允許用戶根據對方的IP地址或主機名阻斷別人對登陸FTP服務器的訪問。

4) 啟動wu-ftpd服務器
/etc/rc.d/init.d/xinetd restart

4.NFS網絡文件系統
1) linux系統之間的訪問
mount servername:/exported dir /dir to mount -t nfs
舉例:主機shuke1運行了NFS,將自己的/pub目錄共享了,那么,客戶機shuke2就可以通過如下命令裝載客戶機shuke1的共享資源,并將其掛接到/home/inport目錄下:
[root@shuke2root]#mount shuke1:/pub /home/inport
客戶機在mount服務器的時候,可以傳遞一些命令選項,如:
[root@shuke2root]#mount -o r shuke1:/pub /home/inport
表示把shuke1主機上的/pub目錄掛在本地的/home/inport目錄下,只讀。
其他選項如下:
rw:可以讀寫;
bg:后臺安裝;
intr:出現問題時,可以中斷;
soft:允許經過retrans次嘗試后,停止安裝,返回失敗信息。
卸載服務器文件系統:
#umount /home/inport

2) linux與windows之間的訪問
在windows客戶端安裝nfsxe.exe軟件。

3) 配置NFS服務器
創建或修改配置文件/etc/exports:
exports的每一行由導出路徑、客戶列表以及每個客戶名后尾隨的訪問選項構成,訪問選項是可選的,語法如下:directory hostname (options)...
舉例:/usr ws1.shuke.com
說明:導出路徑/usr提供給ws1.shuke.com訪問。
舉例:/usr ws1.shuke.com (rw)
說明:導出路徑/usr提供給ws1.shuke.com訪問,具備讀寫權限。
舉例:/pub (ro,insecure.all_squash)
說明:只允許對該分區做只讀操作,任何機器都可以訪問,允許用大于1024的端口進行連接,并把所有的連接id映射到nobody。
選項說明如下:
insecure:允許用戶可以從大于1024的端口進行連接;
secure:限制用戶只能從小于1024的端口進行連接;
ro:只讀,在沒指定ro的情況下,默認是可寫的;
noaccess:讓導出路徑的所有子目錄對客戶不可見,用戶連接到這樣的路徑后,看到的是個空目錄;
root_squash:設置服務器應答在某個NFS掛裝分區上的根用戶發出的請求,可以把從客戶機的根用戶的設置映射成nobody;
no_root_squash:設置服務器在缺省情況下不理會在某個NFS掛裝分區上的根用戶發出的請求;
rw:可寫,這是缺省的。

4) 啟動和停止NFS服務
第一次啟動NFS時,使用啟動腳本:/etc/rc.d/init.d/nfs start,NFS會在內核建立一系列的NFS相關進程,在修改過/etc/exports后,需要高速NFS進程重新檢查配置信息,重新啟動NFS進程。

5.建立Samba服務器
完成一個實例,安裝、配置和啟動samba服務器,向外共享tmp,home,pub,printer資源,并使它們可以被指定的客戶機訪問,啟動samba服務器后,首先在本地使用測試工具測試samba服務器提供的服務,然后互相進行遠程測試和訪問共享資源試驗結果。以IP192.168.0.6,主機名shuke為例進行試驗,本試驗任務通過主機名或IP地址進行訪問,因而對DNS解析不做要求。

1) 安裝Samba安裝包:
samba-2.2.7a-7.9.0
redhat-config-samba-1.0.4-1
samba-common-2.2.7a-7.9.0
samba-client-2.2.7a-7.9.0
samba-swat-2.2.7a-7.9.0

2) 編輯lmhost配置文件
[root@shuke samba]#vi /etc/samba/lmhosts

127.0.0.1 localhost
192.168.0.1 xpserver
192.168.0.6 smbserver
192.168.0.2 host2
192.168.0.3 host3
~

3) 修改/etc/samba/smb.conf文件,按照如下修改:
[global]
workgroup=TEST GROUP
server string=Samba Server
hosts allow=192.168.0.
load printers=yes
printcap name=/etc/printcap
guest account=guest
log file=/usr/local/samba/var/log.%m
max log size=50
encrypt passwords=yes
security=user
socketoptions=TCP_NODELAY
[homes]
comment=HomeDirectories
browseable=yes
writable=yes
[printers]
comment=AllPrinters
path=/usr/spool/samba
browseable=yes
guestok=no
writable=no
printable=yes
[tmp]
comment=Temporaryfile
path=/tmp
readonly=no
public=yes
[public]
comment=PublicZone
path=/var/pub
public=yes
writable=yes

4) 新建一個pub共享資源的目錄/var/pub,并修改權縣為任意用戶都可讀寫;
[root@shuke samba]#mkdir /var/pub
[root@shuke samba]#chmod 777 /var/pub

5) 建立一個訪問samba服務器的賬號,smbuser,首先它應該成為系統賬號;
[root@shuke samba]#useradd smbuser
[root@shuke samba]#passwd smbuser

6) 將系統賬號smbuser添加到samba賬號數據庫中,使其僅對應于Windows用戶winuser;
[root@shuke samba]#smbadduser smbuser:winuser

7) 啟動samba服務器守護進程;
[root@shuke samba]#/etc/rc.d/init.d/smb

8) 使用sambaclient命令,測試對方的samba服務器的共享資源;
[root@shuke samba]#sambaclient -L smbserver -U smbuser
added interface ip=192.168.0.6 bcast=192.168.0.255 namsk=255.255.255.0

9) 使用smbmount命令裝載遠程主機的samba共享資源,并列出資源內容;
[root@shuke samba]#smbmount //smbserver/homes /mnt -o username=smbuser

10) 因為homes資源是可寫的,可以在此建立目錄,然后使用smbumount命令卸載資源;
[root@shuke samba]#mkdir /mnt/newdir
[root@shuke samba]#smbumount /mnt

11) 啟動windows系統,以winuser的用戶名登陸系統,打開網上鄰居-整個網絡-Microsoft Windows Network,可看到Test group

轉載于:https://blog.51cto.com/beautymm/22052

總結

以上是生活随笔為你收集整理的Linux配置汇总上(北大青鸟Linux课程学习总结)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。