如何配置rsh服務(wù)
成都一家集口碑和實(shí)力的網(wǎng)站建設(shè)服務(wù)商,擁有專業(yè)的企業(yè)建站團(tuán)隊(duì)和靠譜的建站技術(shù),10多年企業(yè)及個(gè)人網(wǎng)站建設(shè)經(jīng)驗(yàn) ,為成都成百上千家客戶提供網(wǎng)頁(yè)設(shè)計(jì)制作,網(wǎng)站開(kāi)發(fā),企業(yè)網(wǎng)站制作建設(shè)等服務(wù),包括成都營(yíng)銷型網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),同時(shí)也為不同行業(yè)的客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)的服務(wù),包括成都電商型網(wǎng)站制作建設(shè),裝修行業(yè)網(wǎng)站制作建設(shè),傳統(tǒng)機(jī)械行業(yè)網(wǎng)站建設(shè),傳統(tǒng)農(nóng)業(yè)行業(yè)網(wǎng)站制作建設(shè)。在成都做網(wǎng)站,選網(wǎng)站制作建設(shè)服務(wù)商就選創(chuàng)新互聯(lián)。
redhat linux下配置rsh和rcp- -
1:安裝前準(zhǔn)備:
機(jī)器A:192.168.0.4 (安裝rsh server)
機(jī)器B:192.168.0.10 (rsh client 調(diào)用執(zhí)行192.168.0.4的命令)
2: 首先確認(rèn)機(jī)器A是否安裝rsh包:
[root@mg04 root]# rpm -aq |grep rsh
rsh-0.17-14
rsh-server-0.17-14
如果沒(méi)有安裝以上兩個(gè)包,請(qǐng)找到相關(guān)軟件安裝(如果是LINUX,可以從安裝碟中找到)
安裝包:
rpm -ivh rsh-0.17-5 (linux 操作系統(tǒng))
rpm -ivh rsh-server-0.17-5 (linux 操作系統(tǒng))
3:確認(rèn)是否啟動(dòng)rsh 服務(wù):
方法一:
使用命令setup,查看service是否將[*] rsh 加上*,如果加上*表示可以啟動(dòng)。
/etc/rc.d/init.d/xinetd restart 或者 service xinetd restart
方法二:
rsh 屬于xinetd服務(wù),可以直接修改/etc/xinetd.d/rsh腳本文件。
service shell
{
disable = no
socket_type = stream
wait = no
user = root
log_on_success += USERID
log_on_failure += USERID
server = /usr/sbin/in.rshd
}
當(dāng)然方法很多,目的就是使用rsh服務(wù)能啟動(dòng)。
/etc/rc.d/init.d/xinetd restart
檢查是否啟動(dòng): rsh server 監(jiān)聽(tīng)和TCP 是514。
[root@mg04 root]# netstat -an |grep 514
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN
如果能看到514在監(jiān)聽(tīng)說(shuō)明服務(wù)器已經(jīng)啟動(dòng)。
4:配置rsh server:
修改/etc/securetty文件: echo rsh /etc/securetty
如果打算用root作為rsh用戶的話:
先用root登錄到機(jī)器A中進(jìn)行以下操作:
cd ~/
echo "192.168.0.10 root" .rhosts 允許192.168.0.10 以root訪問(wèn)
echo "192.168.0.4 root" .rhosts
重啟rsh server.
5:測(cè)試和注意的問(wèn)題:
登錄到b機(jī)器進(jìn)行測(cè)試: rsh -l root 192.168.0.204 ps -ef
看是否能看到結(jié)果。如果看到
[root@mg04 etc]# rsh -l root 192.168.0.204 ps -ef
Permission denied.
這是由于權(quán)權(quán)限問(wèn)題,一般是由于 .rhosts沒(méi)有配置正確。.rhosts一般位于
rsh server服務(wù)器相對(duì)應(yīng)賬號(hào)目錄下比如root(與.bash_profile在同一目錄)
rsh在執(zhí)行命令有時(shí)會(huì)找不到。rsh 在調(diào)用命令是最好使用絕對(duì)路徑。默認(rèn)搜索路徑為:
[root@mg04 etc]# rsh -l root 192.168.0.4 env |grep PATH
PATH=/usr/bin:/bin
rh8.0下rcp的用法設(shè)置
只對(duì)root用戶生效
1、在雙方root用戶根目錄下建立.rhosts文件,并將雙方的hostname加進(jìn)去.在此之前應(yīng)在雙方的/etc/hosts文件中加入對(duì)方的IP和hostname
2、把rsh服務(wù)啟動(dòng)起來(lái),redhat默認(rèn)是不啟動(dòng)的。方法:用執(zhí)行ntsysv命令,在rsh選項(xiàng)前用空格鍵選中,確定退出。 然后執(zhí)行:service xinetd restart即可。
3、到/etc/pam.d/目錄下,把rsh文件中的auth required /lib/security/pam_securetty.so一行用“#
你好 rsh命令是“remote shell”(遠(yuǎn)程 shell)的縮寫(xiě)。 該命令在指定的遠(yuǎn)程主機(jī)上啟動(dòng)一個(gè)shell并執(zhí)行用戶在rsh命令行中指定的命令。如果用戶沒(méi)有給出要執(zhí)行的命令,rsh就用rlogin命令使用戶登錄到遠(yuǎn)程機(jī)上。
rsh命令的一般格式是:
rsh [-Kdnx] [-k realm] [-l username] host [command]
一般常用的格式是:
rsh host [command ]
command可以是從shell提示符下鍵人的任何Linux命令。
rsh命令中各選項(xiàng)的含義如下:
-K 關(guān)閉所有的Kerbero確認(rèn)。該選項(xiàng)只在與使用Kerbero確認(rèn)的主機(jī)連接時(shí)才使用。
-d 打開(kāi)與遠(yuǎn)程主機(jī)進(jìn)行通信的TCP sockets的socket調(diào)試。要了解更多的信息,請(qǐng)查閱setsockopt的聯(lián)機(jī)幫助。
-k 請(qǐng)求rsh獲得在指定區(qū)域內(nèi)的遠(yuǎn)程主機(jī)的Kerberos許可,而不是獲得由krb_relmofhost(3)確定的遠(yuǎn)程主機(jī)區(qū)域內(nèi)的遠(yuǎn)程主機(jī)的Kerberos許可。
-l 缺省情況下,遠(yuǎn)程用戶名與本地用戶名相同。本選項(xiàng)允許指定遠(yuǎn)程用戶名,如果指定了遠(yuǎn)程用戶名,則使用Kerberos 確認(rèn),與在rlogin命令中一樣。
-n 重定向來(lái)自特殊設(shè)備/dev/null的輸入。
-x 為傳送的所有數(shù)據(jù)打開(kāi)DES加密。這會(huì)影響響應(yīng)時(shí)間和CPU利用率,但是可以提高安全性。 Linux把標(biāo)準(zhǔn)輸入放入rsh命令中,并把它拷貝到要遠(yuǎn)程執(zhí)行的命令的標(biāo)準(zhǔn)輸入中。它把遠(yuǎn)程命令的標(biāo)準(zhǔn)輸出拷貝到rsh的標(biāo)準(zhǔn)輸出中。它還把遠(yuǎn)程標(biāo)準(zhǔn)錯(cuò)誤拷貝到本地標(biāo)準(zhǔn)錯(cuò)誤文件中。任何退出、中止和中斷信號(hào)都被送到遠(yuǎn)程命令中。當(dāng)遠(yuǎn)程命令終止了,rsh也就終止了。
希望答案可以幫助你,謝謝。
、配置文件介紹:
每個(gè) Linux 程序都是一個(gè)可執(zhí)行文件,它含有操作碼列表,CPU 將執(zhí)行這些操作碼來(lái)完成特定的操作。
例如,ls 命令是由 /bin/ls 文件提供的,該文件含有機(jī)器指令的列表,在屏幕上顯示當(dāng)前目錄中文件
的列表時(shí)需要使用這些機(jī)器指令。幾乎每個(gè)程序的行為都可以通過(guò)修改其配置文件來(lái)按照您的偏好或需
要去定制。
Linux 中有沒(méi)有一個(gè)標(biāo)準(zhǔn)的配置文件格式?
一句話,沒(méi)有。不熟悉 Linux 的用戶(一定)會(huì)感到沮喪,因?yàn)槊總€(gè)配置文件看起來(lái)都象是一個(gè)要迎
接的新挑戰(zhàn)。在 Linux 中,每個(gè)程序員都可以自由選擇他或她喜歡的配置文件格式??梢赃x擇的格式
很多,從 /etc/shells 文件(它包含被一個(gè)換行符分開(kāi)的 shell 的列表),到 Apache 的復(fù)雜的
/etc/httpd.conf 文件。
什么是系統(tǒng)配置文件?
內(nèi)核本身也可以看成是一個(gè)“程序”。為什么內(nèi)核需要配置文件??jī)?nèi)核需要了解系統(tǒng)中用戶和組的列表,
進(jìn)而管理文件權(quán)限(即根據(jù)權(quán)限判定特定用戶(UNIX_USERS)是否可以打開(kāi)某個(gè)文件)。注意,這些文
件不是明確地由程序讀取的,而是由系統(tǒng)庫(kù)所提供的一個(gè)函數(shù)讀取,并被內(nèi)核使用。例如,程序需要某
個(gè)用戶的(加密過(guò)的)密碼時(shí)不應(yīng)該打開(kāi) /etc/passwd 文件。相反,程序應(yīng)該調(diào)用系統(tǒng)庫(kù)的 getpw() 函
數(shù)。這種函數(shù)也被稱為系統(tǒng)調(diào)用。打開(kāi) /etc/passwd 文件和之后查找那個(gè)被請(qǐng)求的用戶的密碼都是由
內(nèi)核(通過(guò)系統(tǒng)庫(kù))決定的。
除非另行指定,Red Hat Linux 系統(tǒng)中大多數(shù)配置文件都在 /etc 目錄中。配置文件可以大致分為下面
幾類:
2、配置文件分類:
訪問(wèn)文件
/etc/host.conf
告訴網(wǎng)絡(luò)域名服務(wù)器如何查找主機(jī)名。(通常是 /etc/hosts,
然后就是名稱服務(wù)器;可通過(guò) netconf 對(duì)其進(jìn)行更改)
/etc/hosts
包含(本地網(wǎng)絡(luò)中)已知主機(jī)的一個(gè)列表。如果系統(tǒng)的 IP 不
是動(dòng)態(tài)生成,就可以使用它。對(duì)于簡(jiǎn)單的主機(jī)名解析(點(diǎn)分表
示法),在請(qǐng)求 DNS 或 NIS 網(wǎng)絡(luò)名稱服務(wù)器之前,
/etc/hosts.conf 通常會(huì)告訴解析程序先查看這里。
/etc/hosts.allow
請(qǐng)參閱 hosts_access 的聯(lián)機(jī)幫助頁(yè)。至少由 tcpd 讀取。
/etc/hosts.deny
請(qǐng)參閱 hosts_access 的聯(lián)機(jī)幫助頁(yè)。至少由 tcpd 讀取。
引導(dǎo)和登錄/注銷
/etc/issue
/etc/issue.net
時(shí)也是管理員,那么在 group 文件中他的條目看起來(lái)就會(huì)是這樣的:user: * :
group-id : project1
/etc/nologin
這是一個(gè)普通的文本文件.你可以在里面寫(xiě)上你喜歡的任何東西./etc/nologin
的作用在于,如果它存在,那么系統(tǒng)將拒絕任何非 root 用戶的登錄請(qǐng)求,并對(duì)其
它登錄用戶顯示此文件的內(nèi)容
此文件常由系統(tǒng)在停機(jī)前自動(dòng)生成.有時(shí)系統(tǒng)管理員也會(huì)手工生成它,用以禁止
其它用戶登錄,方便進(jìn)行一些管理工作.
etc/passwd
1.文件格式
/etc/passwd 存儲(chǔ)了系統(tǒng)中所有用戶的基本信息.可以說(shuō)這是系統(tǒng)中最重要的一
個(gè)配置文件.對(duì)它作任何修改一定要小心謹(jǐn)慎.同時(shí)要經(jīng)常檢察這個(gè)文件,包括
它的內(nèi)容和權(quán)限設(shè)置.
使用 vi 編輯程序打開(kāi)此文件,可以看到這個(gè)文件由許多行記錄組成.每一行記
錄對(duì)應(yīng)著一個(gè)用戶.我們以第一行為例.第一行一般是 root 用戶的記錄,盡管這
不是必需的.實(shí)際上用戶記錄出現(xiàn)的順序并沒(méi)有任何的意義.
在我的系統(tǒng)中,/etc/passwd 的第一行看起來(lái)是這樣的:
root:x:0:0:root:/root:/bin/bash
每一條記錄都由 7 個(gè)字段組成,每個(gè)字段之間用冒號(hào)隔開(kāi).第一個(gè)字段是用戶
名,示例中是 root.第二個(gè)字段是用戶口令,示例中是一個(gè)字符 x,但這并不表示root 的口令是單個(gè)字符 x,而是說(shuō)用戶口令被加密了,并且加密口令也沒(méi)有放在
本文件中,而是放到了/etc/shadow(參考 /etc/shadow).假如刪除這個(gè) x,那么
root 的口令就清空了.第三個(gè)字段是用戶的用戶 ID,即 uid.第四個(gè)字段是用戶
的組 ID,即 gid. 這里要注意,系統(tǒng)分辨兩個(gè)用戶是看他們的 uid 是否相同而不
是看他們的用戶名是否相同.用戶名不同但 uid 相同的兩個(gè)用戶實(shí)際上是同一
個(gè)用戶.對(duì)組來(lái)說(shuō)也有類似的規(guī)則.所以這兩個(gè)字段大家一定要注意.第五個(gè)字
段是用戶全稱,沒(méi)有什么實(shí)際用途,相當(dāng)于注釋,這里是 root.第六個(gè)字段是用戶
的主目錄 (home),即登錄系統(tǒng)后默認(rèn)所處目錄,這里是/root.最后一個(gè)字段是
用戶的登錄 shell,可以是系統(tǒng)擁有的任何一個(gè) shell 的完整路徑,這里是
/bin/bash.注意,這個(gè)字段可以有一個(gè)特殊的值,即/sbin/nologin.如果把一個(gè)
用戶的登錄 shell 設(shè)置為 /sbin/nologin 的話,系統(tǒng)將禁止此用戶的本地登錄.
請(qǐng)參閱“man passwd”。它包含一些用戶帳號(hào)信息,包括密碼(如果未被 shadow
程序加密過(guò))。
2.安全性
/etc/passwd 的默認(rèn)權(quán)限為 644,所有者和所有組均為 root.切記,在任何情況下
都不要更改它.
3.相關(guān)命令
passwd
useradd
userdel
adduser
usermod
users
/etc/rpmrc
rpm 命令配置。所有的 rpm 命令行選項(xiàng)都可以在這個(gè)文件中一起設(shè)置,這樣,
當(dāng)任何 rpm 命令在該系統(tǒng)中運(yùn)行時(shí),所有的選項(xiàng)都會(huì)全局適用。
/etc/securetty
包含設(shè)備名稱,由 tty 行組成(每行一個(gè)名稱,不包括前面的 /dev/),root
用戶在這里被允許登錄。
1.文件格式
這是一個(gè)設(shè)備文件的列表.文件名取相對(duì)于/dev 的相對(duì)路徑.如,/dev/tty1 記
為 tty1
root 只有從這個(gè)列表中列出的設(shè)備上才可以登錄系統(tǒng).
例如:
代碼:
$cat /etc/securretty
tty1
tty2
tty3
這里 root 被限定只能從/dev/tty1, /dev/tty2, /dev/tty3 這三個(gè)設(shè)備上登錄
系統(tǒng)
如果/etc/securretty 不存在的話,那么 root 將可以從任何設(shè)備登錄系統(tǒng).
2.安全性
/etc/securetty 的默認(rèn)權(quán)限是 600,所有者和所有組都是 root
/etc/shadow
包含加密后的用戶帳號(hào)密碼信息,還可以包括密碼時(shí)效信息。包括的字段有:? 登錄名
? 加密后的密碼
? 從 1970 年 1 月 1 日到密碼最后一次被更改的天數(shù)
? 距密碼可以更改之前的天數(shù)
? 距密碼必須更改之前的天數(shù)
? 密碼到期前用戶被警告的天數(shù)
? 密碼到期后帳戶被禁用的天數(shù)
? 從 1970 年 1 月 1 日到帳號(hào)被禁用的天數(shù)
1.文件格式
/etc/shadow 文件保存的是用戶名,密碼,用戶賬號(hào)設(shè)置相關(guān)信息。
例:
root:$1$6UviCNvh$WTR0zPMek41KmzD0Z1DdV1:12264:3:4:5:6:12267:
第一段: root----- 用戶注冊(cè)名
第二段: $1$6UviCNvh$WTR0zPMek41KmzD0Z1DdV1 ----加密口令
第三段: 12264-----上次更動(dòng)密碼的日期,以 1970 年 1 月 1 日為 1,1 天加 1
第四段: 3---------密碼將被允許修改之前的天數(shù)(0 表示“可在任何時(shí)間修
改”)
第五段: 4---------系統(tǒng)將強(qiáng)制用戶修改為新密碼之前的天數(shù)(1 表示“永遠(yuǎn)
都不能修改”)
第六段: 5---------密碼過(guò)期之前,用戶將被警告過(guò)期的天數(shù)(-1 表示“沒(méi)有
警告”)
第七段: 6---------密碼過(guò)期之后,系統(tǒng)自動(dòng)禁用帳戶的天數(shù)(-1 表示“永遠(yuǎn)
不會(huì)禁用”)
第八段: 12267-----該帳戶被禁用的天數(shù)(-1 表示“該帳戶被啟用”).以 1970
年 1 月 1 日為 1,1 月 2 日為 2
第九段 ------ 保留供將來(lái)使用
注:第 2 段中為*表示帳號(hào)不可登錄,如密碼前為 !! 或只有 !! 表示帳號(hào)被鎖
2.安全性/etc/shadow 的默認(rèn)所有者和所有組均為 root.
建議運(yùn)行# chattr +i /etc/shadow 來(lái)保護(hù)文件使其不被意外地刪除或重寫(xiě)
3.相關(guān)命令
passwd
useradd
userdel
usermod
/ect/gshadow
1.文件格式
/ect/gshadow 文件保存的是用戶和組群設(shè)置的信息
例:
root:!!::root,wa1
第一段:組名
第四段:該組包含用戶列表
2.安全性
/etc/gshadow 的默認(rèn)所有者和所有組均為 root.
建議運(yùn)行# chattr +i /etc/shadow 來(lái)保護(hù)文件使其不被意外地刪除或重寫(xiě)
3.相關(guān)命令
groupadd
groupdel
groupmod
groups
/etc/sysctl.conf
1.文件格式
/etc/sysctl.conf 是 sysctl 程序的配置文件.sysctl 可以在系統(tǒng)運(yùn)行時(shí)更改內(nèi)
核參數(shù)./etc/sysctl.conf 中的配置將在系統(tǒng)起動(dòng)時(shí)執(zhí)行.
以 # 和 ; 開(kāi)始的行是注釋,將和空白行一起被忽略.
配置項(xiàng)的格式為:
token = value
token 是一個(gè)鍵名,value 是對(duì)應(yīng)的鍵值.token 和 value 前后的空格將被忽略
token 不能是隨意的字符串.他和/proc/sys 下的文件有一一對(duì)應(yīng)的關(guān)系:
.h2 NEWS_PROXY
.h2 NNTP_PROXY
# Lynx version 2.2 and beyond supports the use of proxy servers that can act as
# firewall gateways and caching servers. They are preferable to the older
# gateway servers. Each protocol used by Lynx can be mapped separately using
# PROTOCOL_proxy environment variables (see Lynx Users Guide). If you have
# not set them externally, you can set them at run time via this configuration file.
# They will not override external settings. The no_proxy variable can be used
# to inhibit proxying to selected regions of the Web (see below). Note that on
# VMS these proxy variables are set as process logicals rather than symbols, to
# preserve lowercasing, and will outlive the Lynx image.
#
.ex 15
http_proxy:
ftp_proxy:
#http_proxy:
#ftp_proxy:
.h2 NO_PROXY
# The no_proxy variable can be a comma-separated list of strings defining
# no-proxy zones in the DNS domain name space. If a tail substring of the
# domain-path for a host matches one of these strings, transactions with that# node will not be proxied.
.ex
no_proxy:demiurge.in.ibm.com, demiurge
更改配置文件
在更改配置文件時(shí),如果程序不是由系統(tǒng)管理員或內(nèi)核控制的,就要確保重新啟動(dòng)過(guò)使用該配置的程
序。普通用戶通常沒(méi)有啟動(dòng)或停止系統(tǒng)程序和/或守護(hù)進(jìn)程的權(quán)限。
內(nèi)核
更改內(nèi)核中的配置文件會(huì)立即影響到系統(tǒng)。例如,更改 passwd 文件以增加用戶將立即使該用戶變?yōu)?/p>
可用。而且任何 Linux 系統(tǒng)的 /proc/sys 目錄中都有一些內(nèi)核可調(diào)參數(shù)。只有超級(jí)用戶可以得到對(duì)
所有這些文件的寫(xiě)訪問(wèn)權(quán)力;其它用戶只有只讀訪問(wèn)權(quán)力。此目錄中文件的分類的方式和 Linux 內(nèi)
核源代碼的分類方式一樣。此目錄中的每個(gè)文件都代表一個(gè)內(nèi)核數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)可以被動(dòng)態(tài)
地修改,從而改變系統(tǒng)性能。
注意:在更改其中任何文件的任何值之前,您應(yīng)該確保自己全面了解該文件,以避免對(duì)系統(tǒng)造成不可
修復(fù)的損害。
/proc/sys/kernel/ 目錄中的文件
文件名
描述
threads-max
內(nèi)核可運(yùn)行的最大任務(wù)數(shù)。
ctrl-alt-del
如果值為 1,那么順序按下這幾個(gè)鍵將“徹底地”重新引
導(dǎo)系統(tǒng)。
sysrq
如果值為 1,Alt-SysRq 則為激活狀態(tài)。
osrelease
顯示操作系統(tǒng)的發(fā)行版版本號(hào)
ostype
顯示操作系統(tǒng)的類型。
hostname
系統(tǒng)的主機(jī)名。
domainname
網(wǎng)絡(luò)域,系統(tǒng)是該網(wǎng)絡(luò)域的一部分。
modprobe
指定 modprobe 是否應(yīng)該在啟動(dòng)時(shí)自動(dòng)運(yùn)行并加載必需
的模塊。
守護(hù)進(jìn)程和系統(tǒng)程序
守護(hù)進(jìn)程是永遠(yuǎn)運(yùn)行在后臺(tái)的程序,它默默地執(zhí)行自己的任務(wù)。常見(jiàn)的守護(hù)進(jìn)程有 in.ftpd(ftp 服
務(wù)器守護(hù)進(jìn)程)、in.telnetd(telnet 服務(wù)器守護(hù)進(jìn)程)和 syslogd(系統(tǒng)日志記錄守護(hù)進(jìn)程)。
有些守護(hù)進(jìn)程在運(yùn)行時(shí)會(huì)嚴(yán)密監(jiān)視配置文件,在配置文件改變時(shí)就會(huì)自動(dòng)重新加載它。但是大多數(shù)守
護(hù)進(jìn)程并不會(huì)自動(dòng)重新加載配置文件。我們需要以某種方式“告訴”這些守護(hù)進(jìn)程配置文件已經(jīng)被發(fā)
生了改變并應(yīng)該重新加載??梢酝ㄟ^(guò)使用服務(wù)命令重新啟動(dòng)服務(wù)來(lái)達(dá)到這個(gè)目的(在 Red Hat Linux
系統(tǒng)上)。
例如,如果我們更改了網(wǎng)絡(luò)配置,就需要發(fā)出:
service network restart 。
注意:這些服務(wù)最常見(jiàn)的是 /etc/rc.d/init.d/* 目錄中存在的腳本,在系統(tǒng)被引導(dǎo)時(shí)由 init 啟動(dòng)。
所以,您也可以執(zhí)行如下操作來(lái)重新啟動(dòng)服務(wù):
/etc/rc.d/init.d/script-for-the-service start | stop | status
start、stop 和 status 是這些腳本接受的輸入值,用來(lái)執(zhí)行操作。
用戶程序用戶或系統(tǒng)程序在每次啟動(dòng)時(shí)都會(huì)讀取其配置文件。盡管如此,請(qǐng)記住,有些系統(tǒng)程序在計(jì)算機(jī)打開(kāi)
時(shí)情況不一樣,它們的行為依賴于在 /etc/ 中的配置文件中讀到的內(nèi)容。所以,用戶程序第一次啟
動(dòng)時(shí)將從 /etc/ 目錄中存在的文件讀取缺省配置。然后,用戶可以通過(guò)使用 rc 和 .(點(diǎn))文件來(lái)
定制程序,正如下面一節(jié)所示。
用戶配置文件:.(點(diǎn))文件和 rc 文件
我們已經(jīng)看到怎樣容易地配置程序。但是如果有的人不喜歡在 /etc/ 中配置程序的方式該怎么辦呢?
“普通”用戶不能簡(jiǎn)單地進(jìn)入 /etc 然后更改配置文件;從文件系統(tǒng)的角度來(lái)看,配置文件的所有者
是 root 用戶!這就是大多數(shù)用戶程序都定義兩個(gè)配置文件的原因:第一個(gè)是“系統(tǒng)”級(jí)別的,位于
/etc/;另一個(gè)屬于用戶“專用”,可以在他或她的主目錄中找到。
例如,我在我的系統(tǒng)中安裝了非常有用的 wget 實(shí)用程序。/etc/ 中有一個(gè) /etc/wgetrc 文件。在
我的主目錄中,有一個(gè)名為 .wgetrc 的文件,它描述了我定制的配置(只有在我,也就是用戶運(yùn)行
wget 命令時(shí),才會(huì)加載這個(gè)配置文件)。其它用戶在他們自己的主目錄(/home/other)中也可以
有 .wgetrc 文件;當(dāng)然,只有這些用戶運(yùn)行 wget 命令時(shí),才會(huì)讀取這個(gè)文件。換句話說(shuō),/etc/wgetrc
文件為 wget 提供了“缺省”值,而 /home/xxx/.wgetrc 文件列舉了某個(gè)用戶的“定制項(xiàng)”。重要
的是這只是“一般規(guī)則”,并非所有情況都如此。例如,一個(gè)象 pine 一樣的程序,在 /etc/ 中并
沒(méi)有任何文件,它只在用戶主目錄中有一個(gè)定制配置文件,名為 .pinerc。其它程序可能只有 /etc/
中的缺省配置文件,而且可能不允許用戶“定制”這些配置文件(/etc 目錄中只有少數(shù) config. 文
件是這種情況)。
通常使用的 rc 和 .(點(diǎn))文件
文件名
描述
~/.bash_login
請(qǐng)參考“man bash”。如果
~/.bash_profile 不存在,bash 則將
~/.bash_login 作為
~/.bash_profile 處理。
~/.bash_logout
請(qǐng)參考“man bash”。在退出時(shí)由
bash 登錄 shell 引用。
~/.bash_profile
由 bash 登錄 shell 引用
/etc/profile 之后引用。
~/.bash_history
先前執(zhí)行的命令的列表。
~/.bashrc
請(qǐng)參考“man bash”。由 bash 非登
錄交互式 shell 引用(沒(méi)有其它文
件)。除非設(shè)置了 BASH_ENV 或 ENV,
非交互式 shell 不引用任何文件。
~/.emacs
啟動(dòng)時(shí)由 emac 讀取。
~/.forward
如果這里包含一個(gè)電子郵件地址,那
么所有發(fā)往 ~ 的所有者的郵件都會(huì)
被轉(zhuǎn)發(fā)到這個(gè)電子郵件地址。
~/.fvwmrc ~/.fvwm2rc
fvwm 和 fvwm2(基本的 X Window 管
理器)的配置文件。
~/.hushlogin
請(qǐng)參考“man login”。引起“無(wú)提
示”登錄(沒(méi)有郵件通知、上次登錄
信息或者 MOD 信息)。~/.mail.rc
郵件程序的用戶初始化文件。
~/.ncftp/
ncftp 程序的目錄;包含書(shū)簽、日志、
宏、首選項(xiàng)和跟蹤信息。請(qǐng)參閱 man
ncftp。ncftp 的目的是為因特網(wǎng)標(biāo)準(zhǔn)
文件傳輸協(xié)議(Internet standard
File Transfer Protocol)提供一個(gè)
強(qiáng)大而靈活的接口。它旨在替換系統(tǒng)
所使用的標(biāo)準(zhǔn)的 ftp 程序。
~/.profile
請(qǐng)參考“man bash”。如果
~/.bash_profile 和 ~/.bash_login
文件不存在,bash 則將 ~/.profile
作為 ~/.bash_profile 處理,并被其
它繼承 Bourn 的 shell 使用。
~/.pinerc
Pine 配置
~/.muttrc
Mutt 配置
~/.exrc
這個(gè)文件可以控制 vi 的配置。
示例:set ai sm ruler
在此文件中寫(xiě)入上面一行會(huì)讓 vi 設(shè)
置自動(dòng)縮進(jìn)、匹配括號(hào)、顯示行號(hào)和
行-列這幾個(gè)選項(xiàng)。
~/.vimrc
缺省的“Vim”配置文件。和 .exrc
一樣。
~/.gtkrc
GNOME 工具包(GNOME Toolkit)。
~/.kderc
KDE 配置。
~/.netrc
ftp 缺省登錄名和密碼。
~/.rhosts
由 r- 工具(如 rsh、rlogin 等等)
使用。因?yàn)槊俺渲鳈C(jī)很容易,所以安
全性非常低。
1. 必須由用戶(~/ 的所有者)或超
級(jí)用戶擁有。
2. 列出一些主機(jī),用戶可以從這些主
機(jī)訪問(wèn)該帳號(hào)。
3. 如果是符號(hào)鏈接則被忽略。
~/.rpmrc
請(qǐng)參閱“man rpm”。如果 /etc/rpmrc
不存在則由 rpm 讀取。
~/.signature
消息文本,將自動(dòng)附加在從此帳號(hào)發(fā)
出的郵件末尾。
~/.twmrc
twm( The Window Manager)的配置
文件。~/.xinitrc
啟動(dòng)時(shí)由 X 讀?。ǘ皇怯?xinit
腳本讀?。?。通常會(huì)啟動(dòng)一些程序。
示例:exec /usr/sbin/startkde
如果該文件中存在上面這行內(nèi)容,那
么在從這個(gè)帳號(hào)發(fā)出 startx 命令
時(shí),這一行就會(huì)啟動(dòng)“KDE 視窗管理
器”(KDE Window Manager)。
~/.xmodmaprc
此文件被傳送到 xmodmap 程序,而且
可以被命名為任何文件(例如
~/.Xmodmap 和 ~/.keymap.km)。
~/.xserverrc
如果 xinit 可以找到要執(zhí)行的 X,
xinit 就會(huì)將該文件作為 X 服務(wù)器
運(yùn)行。
~/News/Sent-Message-IDs
gnus 的缺省郵件歷史文件。
~/.Xauthority
由 xdm 程序讀和寫(xiě),以處理權(quán)限。請(qǐng)
參閱 X、xdm 和 xauth 聯(lián)機(jī)幫助頁(yè)。
~/.Xdefaults,
~/.Xdefaults-hostname
在主機(jī) hostname 的啟動(dòng)過(guò)程中由 X
應(yīng)用程序讀取。如果找不到
-hostname 文件,則查找 .Xdefaults
文件。
~/.Xmodmap
指向 .xmodmaprc;Red Hat 有使用這
個(gè)名稱的 .xinitrc 文件。
~/.Xresources
通常是傳送到 xrdb 以加載 X 資源
數(shù)據(jù)庫(kù)的文件的名稱,旨在避免應(yīng)用
程序需要讀取一個(gè)很長(zhǎng)
的 .Xdefaults 文件這樣的情況。(有
些情況曾經(jīng)使用了 ~/.Xres。)
~/mbox
用戶的舊郵件。
3、重要的配置文件列表:
啟動(dòng)引導(dǎo)程序配置文件
LILO /etc/lilo.conf
GRUB /boot/grub/menu.lst
系統(tǒng)啟動(dòng)文件核腳本
主啟動(dòng)控制文件 /etc/inittab
SysV 啟動(dòng)腳本的位置 /etc/init.d、/etc/rc.d/init.d 或/etc/rc.d
SysV 啟動(dòng)腳本鏈接的位置 /etc/init.d/rc?.d、/etc/rc.d/rc?.d 或/etc/rc?.d
本地啟動(dòng)腳本 /etc/rc.d/rc.local、/etc/init.d/boot.local 或/etc/rc.boot 里的文件
網(wǎng)絡(luò)配置文件
建立網(wǎng)絡(luò)接口的腳本 /sbin/ifup
保存網(wǎng)絡(luò)配置數(shù)據(jù)文件的目錄 /etc/network、/etc/sysconfig/network 和
/etc/sysconfig/network-scripts保存解析 DNS 服務(wù)的文件 /etc/resolv.conf
DHCP 客戶端的配置文件 /etc/dhclient.conf
超級(jí)服務(wù)程序配置文件和目錄
inetd 配置文件 /etc/inetd.conf
TCP Wrappers 配置文件 /etc/hosts.allow 和/etc/hosts.deny
xinetd 配置文件 /etc/xinetd.conf 和/etc/xinetd.d 目錄里的文件
硬件配置
內(nèi)核模塊配置文件 /etc/modules.conf
硬件訪問(wèn)文件
Linux 設(shè)備文件 /dev 目錄里
保存硬件和驅(qū)動(dòng)程序數(shù)據(jù)的文件 /proc 目錄里
掃描儀配置文件
SANE 主配置 /etc/sane.d/dll.conf
特定掃描儀的配置文件 /etc/sane.d 目錄里以掃描儀型號(hào)命名的文件
打印機(jī)配置文件
BSD LPD 核 LPRng 的本地打印機(jī)主配置文件 /etc/printcap
CUPS 本地打印機(jī)主配置和遠(yuǎn)程訪問(wèn)受權(quán)文件 /etc/cups/cupsd.conf
BSD LPD 遠(yuǎn)程訪問(wèn)受權(quán)文件 /etc/hosts.lpd
LPRng 遠(yuǎn)程訪問(wèn)受權(quán)文件 /etc/lpd.perms
文件系統(tǒng)
文件系統(tǒng)表 /etc/fstab
軟驅(qū)裝配點(diǎn) /floppy、/mnt/floppy 或/media/floppy
光驅(qū)裝配點(diǎn) /cdrom、/mnt/cdrom 或/media/cdrom
shell 配置文件
bash 系統(tǒng)非登錄配置文件 /etc/bashrc、/etc/bash.bashrc 或/etc/bash.bashrc.local
bash 系統(tǒng)登錄文件 /etc/profile 和/etc/profile.d 里的文件
bash 用戶非登錄配置文件 ~/.bashrc
bash 用戶登錄配置文件 ~/.profile
XFree86 配置文件核目錄
XFree86 主配置文件 /etc/XF86config、/etc/X11/XF86Config 或/etc/X11/XF86Config-4
字體服務(wù)程序配置文件 /etc/X11/fs/config
Xft 1.x 配置文件 /etcX11/XftConfig
Xft 2.0 配置文件 /etc/fonts/fonts.conf
字體目錄 /usr/X11R6/lib/X11/fonts 和/usr/share/fonts
Web 服務(wù)程序配置文件
Apache 主配置文件 /etc/apache、/etc/httpd 或/httpd/conf 里的 httpd.conf 或 httpd2.conf 文
件
MIME 類型文件 與 Apache 主配置文件在同一目錄里的 mime.types 或 apache-mime.types
文件服務(wù)程序配置文件
ProFTPd 配置文件 /etc/proftpd.conf
vsftpd 配置文件 /etc/vsftpd.conf
NFS 服務(wù)程序的輸出定義文件 /etc/exports
NFS 客戶端裝配的 NFS 輸出 /etc/fstab
Samba 配置文件 /etc/samba/smb.confSamba 用戶配置文件 /etc/samba/smbpasswd
郵件服務(wù)程序配置文件
sendmail 主配置文件 /etc/mail/sendmail.cf
sendmail 源配置文件 /etc/mail/sendmail.mc 或/usr/share/sendmail/cf/cf/linux.smtp.mc 或
其他文件
Postfix 主配置文件 /etc/postfix/main.cf
Exim 主配置文件 /etc/exim/exim.cf
Procmail 配置文件 /etc/procmailrc 或~/.procmailrc
Fetchmail 配置文件 ~/.fetchmailrc
遠(yuǎn)程登錄配置文件
SSH 服務(wù)程序配置文件 /etc/ssh/sshd_config
SSH 客戶端配置文件 /etc/ssh/ssh_config
XDM 配置文件 /etc/X11/xdm 目錄下
GDM 配置文件 /etc/X11/gdm 目錄下
VNC 服務(wù)程序配置文件 /usr/X11R6/bin/vncserver 啟動(dòng)腳本和~/.vnc 目錄里的文件
其他服務(wù)程序配置文件
DHCP 服務(wù)程序配置文件 /etc/dhcpd.conf
BIND 服務(wù)程序配置文件 /etc/named.conf 和/var/named/
NTP 服務(wù)程序配置文件 /etc/ntp.conf
rsync 就是遠(yuǎn)程同步的意思remote sync.
rsync 被用在UNIX / Linux執(zhí)行備份操作操作.
rsync 工具包被用來(lái)從一個(gè)位置到另一個(gè)位置高效地同步文件和文件夾. rsync可以實(shí)現(xiàn)在同一臺(tái)機(jī)器的不同文件直接備份,也可以跨服務(wù)器備份.
rsync 語(yǔ)法如下
從語(yǔ)法結(jié)構(gòu)我們可以看出, 源和目標(biāo)即可以在本地也可以在遠(yuǎn)端. 如果是遠(yuǎn)端的話,需要指明登錄用戶名, 遠(yuǎn)端服務(wù)器名, 和遠(yuǎn)端文件或目錄. 同時(shí)源可以是多個(gè), 目標(biāo)位置只能是一個(gè).
說(shuō)明:
-z: --compress 使用壓縮機(jī)制
-v: --verbose 打印詳細(xì)信息
-r: --recursive 以遞歸模式同步子目錄
注意: 同步完成后, 我們會(huì)發(fā)現(xiàn)文件的時(shí)間戳timestamps發(fā)生了改變.
有時(shí)我們希望拷貝或同步時(shí), 時(shí)間戳不要發(fā)生變化, 源文件是什么時(shí)間戳,目標(biāo)文件就是什么時(shí)間戳, 這時(shí)我們需要使用 -a --archive 歸檔模式選項(xiàng). -a 選項(xiàng)相當(dāng)于7個(gè)選項(xiàng)的組合 -rlptgoD
-r, --recursive: 遞歸模式Recursive mode
-l, --links: 將符號(hào)鏈接當(dāng)作符號(hào)鏈接文件拷貝, 不拷貝符合鏈接指向的文件內(nèi)容.
-p, --perms: 保留文件權(quán)限
-t, --times: 保留修改時(shí)間戳
-g, --group: 保留用戶組信息
-o, --owner: 保留用戶信息(需要超級(jí)用戶權(quán)限)
-D, 相當(dāng)于 --devices --specials 的組合, 保留設(shè)備文件, 保留特殊文件.
同步完成后, 我們?cè)賮?lái)看文件屬性, 時(shí)間戳信息得到了保留, 不僅如此文件的所有者 和所在組也得到保留.
說(shuō)明: Pubkeys 是一個(gè)普通文件
使用rsync, 也可以從本地拷貝多個(gè)文件或目錄到遠(yuǎn)端, 以下即為示例:
注意:
與本地文件拷貝不同的地方在于, 當(dāng)拷貝文件到遠(yuǎn)程服務(wù)器時(shí), 我們指定遠(yuǎn)程主機(jī)上的用戶名, 服務(wù)器地址, 路徑等信息, 類是于使用scp命令拷貝, 如果沒(méi)有設(shè)置ssh免密碼登錄我們還需要提供遠(yuǎn)程用戶的密碼等信息.有時(shí)你不想頻繁輸入密碼, 或者rsync運(yùn)行在一個(gè)無(wú)人執(zhí)守的腳本里面, 這是需要預(yù)先設(shè)置ssh免密登錄, 或者使用結(jié)合expect命令,自動(dòng)輸入密碼, 但是出于安全考慮, 密碼需要加密. 所以在條件許可的情況下, 還是推薦設(shè)置ssh免密登錄.
與示例 4 稍有不同, 這時(shí)遠(yuǎn)端目錄或文件作為源位置, 本地目錄或文件作為目標(biāo)位置, 示例如下:
rsync 允許指定遠(yuǎn)程主機(jī)上運(yùn)行shell命令.
這時(shí)需要使用 -e 選項(xiàng):
-e, --rsh=COMMAND 指定遠(yuǎn)端使用的shell命令
Use rsync -e ssh to specify which remote shell to use. In this case, rsync will use ssh.
在一下特殊的使用場(chǎng)景中, 我們不希望拷貝文件時(shí), 我們不希望拷貝過(guò)程覆蓋掉目標(biāo)位置中用戶做出的修改. 這時(shí)我們需要使用 -u 選項(xiàng)明確的告訴rsync命令保留用戶在目標(biāo)文件中作出的修改. 在下面的例子中, 文件Basenames是用戶基于上次的拷貝, 修改過(guò)的文件, 當(dāng)我們使用了-u 選項(xiàng)后, 該文件中的修改將不會(huì)被覆蓋掉.
在某些特殊場(chǎng)景中, 我們只需要遠(yuǎn)程服務(wù)器上的目錄結(jié)構(gòu), 而不希望花大量時(shí)間, 帶寬拷貝文件內(nèi)容, 這時(shí)我們可以使用 -d, --dirs選項(xiàng)來(lái)達(dá)到目的.
有時(shí)我們希望拷貝文件時(shí), 能實(shí)時(shí)的顯示拷貝進(jìn)度, 以及傳輸速率等信息. 尤其是拷貝大文件時(shí), 程序不輸出信息, 用戶往往無(wú)法區(qū)分程序是在響應(yīng)中, 還是已經(jīng)掛起, 在這種情況下如果使用 –progress 就會(huì)非常有幫助.
rsync –progress option displays detailed progress of rsync execution as shown below.
你也可以使用rsnapshot工具 (rsnapshot會(huì)調(diào)用rsync)來(lái)備份本地linux服務(wù)器, 或者備份遠(yuǎn)程linux服務(wù)器.
有時(shí)我們希望目標(biāo)文件和源文件保持嚴(yán)格一致, 不要多文件也不要少文件, 這是我們可能需要使用 -delete 選項(xiàng)來(lái)達(dá)到目的. 如果使用 -delete 選項(xiàng), rsync將刪除目標(biāo)位置多余的文件或文件夾. 此選項(xiàng)還可以結(jié)合--delete-excluded 選項(xiàng)一起使用, 添加一些例外的文件.
上述示例中, new-file.txt 是源文件中沒(méi)有的文件, 其將會(huì)在拷貝時(shí)被刪除掉.
在某些特殊的場(chǎng)景下, 我們只想更新, 目標(biāo)位置已經(jīng)存在的文件或目錄, 而不關(guān)心源位置的新文件, 這時(shí)我們可以使用-existing 選項(xiàng)僅僅更新已經(jīng)存在的文件.
讓我們來(lái)驗(yàn)證一下這個(gè)選項(xiàng)的功能, 首先在源端添加一個(gè)新文件 new-file.txt.
從上面的例子可以看到, 由于加了--existing選項(xiàng)新文件new-file.txt沒(méi)有被拷貝到目標(biāo)位置
選項(xiàng)-i, --itemize-changes 非常有用, 當(dāng)我們想了解目標(biāo)位置和源位置的文件差異時(shí).
在源端:
在目標(biāo)端:
注意: 在上面的例子中, 源位置和目標(biāo)位置有兩處差異. 第一, 源文件Basenames的所有者和組 與 目標(biāo)文件不同, 第一Dirnames文件大小也不一樣.
現(xiàn)在讓我們來(lái)看看rsync會(huì)怎樣顯示這些差異
輸出信息只在相應(yīng)文件前面顯示了9個(gè)字母來(lái)標(biāo)識(shí)改變, 這些字母具體是什么意思呢? 請(qǐng)參考以下詳細(xì)說(shuō)明
rsync 可以使用--include 和 --exclude 選項(xiàng)結(jié)合通配符進(jìn)行文件或文件夾過(guò)濾
在上面的示例中, 僅僅以P打頭的文件和文件夾被包含了進(jìn)來(lái), 其他的文件都被過(guò)濾在拷貝的過(guò)程中被排除在外了.
可以使用--max-size 告訴rsync 不要拷貝大小超過(guò)某個(gè)值的文件, 可以使用K, M, G指定文件大小, M for megabytes and G for gigabytes.
rsync 有個(gè)重要優(yōu)點(diǎn)就是, 可以做到在拷貝的過(guò)程中, 只拷貝發(fā)生變化了的部分, 而不是發(fā)送整個(gè)文件.
但是在某些場(chǎng)景中, 比如文件較少, 文件size較小時(shí), 我們的帶寬又足夠大, cpu資源相對(duì)又貧乏, 我們不希望它這樣做, 因?yàn)楫吘褂?jì)算源端和目標(biāo)端的checksum, 并做對(duì)比, 也需要額外cpu開(kāi)銷. 這時(shí)我們可以使用 -W, --whole-file 選項(xiàng), 讓rsync不用計(jì)算那么多, 一上來(lái)就直接開(kāi)始傳送文件. 我們可以像下面這么做.
15個(gè)Rsync命令實(shí)例