Linux運維人員必會的120個命令
做網(wǎng)站、成都網(wǎng)站建設的關(guān)注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給創(chuàng)新互聯(lián)建站一個展示的機會來證明自己,這并不會花費您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。
跟老男孩學Linux運維:核心系統(tǒng)命令實戰(zhàn)
前言
第1章 Linux命令行簡介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令幫助 / 4
1.3Linux shutdown reboot halt / 9
關(guān)機:
shutdown -h now
halt
init 0
第2章 文件和目錄操作命令 / 13
2.1pwd:顯示當前所在的位置 / 13
2.2cd:切換目錄 / 16
2.3tree:以樹形結(jié)構(gòu)顯示目錄下的內(nèi)容 / 18
2.4mkdir:創(chuàng)建目錄 / 22
2.5touch:創(chuàng)建空文件或改變文件的時間戳屬性 / 27
2.6ls:顯示目錄下的內(nèi)容及相關(guān)屬性信息 / 30
2.7cp:復制文件或目錄 / 39
2.8mv:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內(nèi)容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標準輸入轉(zhuǎn)換成命令行參數(shù) / 68
2.15rename:重命名文件 / 71
2.16basename:顯示文件名或目錄名 / 72
2.17dirname:顯示文件或目錄路徑 / 72
2.18chattr:改變文件的擴展屬性 / 73
2.19lsattr:查看文件擴展屬性 / 75
2.20file:顯示文件的類型 / 76
2.21md5sum:計算和校驗文件的MD5值 / 77
2.22chown:改變文件或目錄的用戶和用戶組 / 80
2.23chmod:改變文件或目錄權(quán)限 / 81
2.24chgrp:更改文件用戶組 / 85
2.25umask:顯示或設置權(quán)限掩碼 / 86
2.26老男孩從新手成為技術(shù)大牛的心法 / 90
第3章 文件過濾及內(nèi)容編輯處理命令 / 91
3.1cat:合并文件或查看文件內(nèi)容 / 91
3.2tac:反向顯示文件內(nèi)容 / 103
3.3more:分頁顯示文件內(nèi)容 / 104
3.4less:分頁顯示文件內(nèi)容 / 107
3.5head:顯示文件內(nèi)容頭部 / 109
3.6tail:顯示文件內(nèi)容尾部 / 111
3.7tailf:跟蹤日志文件 / 114
3.8cut:從文本中提取一段文字并輸出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按兩個文件的相同字段合并 / 127
3.13uniq:去除重復行 / 129
3.14wc:統(tǒng)計文件的行數(shù)、單詞數(shù)或字節(jié)數(shù) / 131
3.15iconv:轉(zhuǎn)換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉(zhuǎn)換成UNIX格式 / 134
3.17diff:比較兩個文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內(nèi)容 / 139
3.20tr:替換或刪除字符 / 140
3.21od:按不同進制顯示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:純文本編輯器 / 147
3.24老男孩逆襲思想:做Linux運維的多個好處 / 152
第4章 文本處理三劍客 / 153
4.1grep:文本過濾工具 / 153
4.2sed:字符流編輯器 / 159
4.3awk基礎入門 / 165
第5章 Linux信息顯示與搜索文件命令 / 176
5.1uname:顯示系統(tǒng)信息 / 176
5.2hostname:顯示或設置系統(tǒng)的主機名 / 178
5.3dmesg:系統(tǒng)啟動異常診斷 / 179
5.4stat:顯示文件或文件系統(tǒng)狀態(tài) / 181
5.5du:統(tǒng)計磁盤空間使用情況 / 183
5.6date:顯示與設置系統(tǒng)時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監(jiān)視命令執(zhí)行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關(guān)文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate數(shù)據(jù)庫 / 199
5.13老男孩逆襲思想:新手在工作中如何問問題不會被鄙視 / 200
第6章 文件備份與壓縮命令 / 201
6.1tar:打包備份 / 201
6.2gzip:壓縮或解壓文件 / 208
6.3zip:打包和壓縮文件 / 211
6.4unzip:解壓zip文件 / 212
6.5scp:遠程文件復制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆襲思想:新手如何高效地提問 / 220
第7章 Linux用戶管理及用戶信息查詢命令 / 222
7.1 useradd:創(chuàng)建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創(chuàng)建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個用戶身份執(zhí)行命令 / 244
7.12id:顯示用戶與用戶組的信息 / 248
7.13w:顯示已登錄用戶信息 / 249
7.14who:顯示已登錄用戶信息 / 250
7.15users:顯示已登錄用戶 / 252
7.16whoami:顯示當前登錄的用戶名 / 253
7.17last:顯示用戶登錄列表 / 253
7.18lastb:顯示用戶登錄失敗的記錄 / 254
7.19lastlog:顯示所有用戶的最近登錄記錄 / 255
第8章 Linux磁盤與文件系統(tǒng)管理命令 / 257
8.1fdisk:磁盤分區(qū)工具 / 257
8.2partprobe:更新內(nèi)核的硬盤分區(qū)表信息 / 265
8.3tune2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)參數(shù) / 266
8.4parted:磁盤分區(qū)工具 / 268
8.5mkfs:創(chuàng)建Linux文件系統(tǒng) / 272
8.6dumpe2fs:導出ext2/ext3/ext4文件系統(tǒng)信息 / 274
8.7resize2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)大小 / 275
8.8fsck:檢查并修復Linux文件系統(tǒng) / 278
8.9dd:轉(zhuǎn)換或復制文件 / 281
8.10mount:掛載文件系統(tǒng) / 284
8.11umount:卸載文件系統(tǒng) / 288
8.12df:報告文件系統(tǒng)磁盤空間的使用情況 / 289
8.13mkswap:創(chuàng)建交換分區(qū) / 293
8.14swapon:激活交換分區(qū) / 294
8.15swapoff:關(guān)閉交換分區(qū) / 295
8.16sync:刷新文件系統(tǒng)緩沖區(qū) / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態(tài)樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統(tǒng)中各個進程的資源占用狀況 / 313
9.8nice:調(diào)整程序運行時的優(yōu)先級 / 320
9.9renice:調(diào)整運行中的進程的優(yōu)先級 / 323
9.10nohup:用戶退出系統(tǒng)進程繼續(xù)工作 / 324
9.11strace:跟蹤進程的系統(tǒng)調(diào)用 / 325
9.12ltrace:跟蹤進程調(diào)用庫函數(shù) / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統(tǒng)服務 / 335
第10章 Linux網(wǎng)絡管理命令 / 338
10.1ifconfig:配置或顯示網(wǎng)絡接口信息 / 338
10.2ifup:激活網(wǎng)絡接口 / 343
ifup eth0
10.3ifdown:禁用網(wǎng)絡接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網(wǎng)絡,所有網(wǎng)卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統(tǒng)的arp緩存 / 350
10.6ip:網(wǎng)絡配置工具 / 351
10.7netstat:查看網(wǎng)絡狀態(tài) / 358
10.8ss:查看網(wǎng)絡狀態(tài) / 362
10.9ping:測試主機之間網(wǎng)絡的連通性 / 363
10.10traceroute:追蹤數(shù)據(jù)傳輸路由狀況 / 366
10.11arping:發(fā)送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網(wǎng)絡工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發(fā)送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網(wǎng)絡探測工具和安全/端口掃描器 / 394
10.22tcpdump:監(jiān)聽網(wǎng)絡流量 / 398
第11章 Linux系統(tǒng)管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統(tǒng)的運行時間及負載 / 411
11.3free:查看系統(tǒng)內(nèi)存信息 / 411
11.4iftop:動態(tài)顯示網(wǎng)絡接口流量信息 / 413
11.5vmstat:虛擬內(nèi)存統(tǒng)計 / 415
11.6mpstat:CPU信息統(tǒng)計 / 419
11.7iostat:I/O信息統(tǒng)計 / 420
11.8iotop:動態(tài)顯示磁盤I/O統(tǒng)計信息 / 423
11.9sar:收集系統(tǒng)信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12 setup:系統(tǒng)管理工具 / 434
11.13ethtool:查詢網(wǎng)卡參數(shù) / 436
11.14mii-tool:管理網(wǎng)絡接口的狀態(tài) / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統(tǒng)常用內(nèi)置命令 / 450
12.1Linux內(nèi)置命令概述 / 450
12.2Linux內(nèi)置命令簡介 / 450
12.3Linux常用內(nèi)置命令實例 / 452
ldd
可執(zhí)行文件名
查看可執(zhí)行文件鏈接了哪些
系統(tǒng)動態(tài)鏈接庫
nm
可執(zhí)行文件名
查看可執(zhí)行文件里面有哪些符號
strip
可執(zhí)行文件名
去除符號表可以給可執(zhí)行文件瘦身
如果我們想從可執(zhí)行程序里面提取出來一點什么文本信息的話,還可以用strings命令
strings
可執(zhí)行文件名
Linux操作系統(tǒng)上面的動態(tài)共享庫大致分為三類:
1、操作系統(tǒng)級別的共享庫和基礎的系統(tǒng)工具庫
比方說libc.so,
libz.so,
libpthread.so等等,這些系統(tǒng)庫會被放在/lib和/usr/lib目錄下面,如果是64位操作系統(tǒng),還會有/lib64和/usr
/lib64目錄。如果操作系統(tǒng)帶有圖形界面,那么還會有/usr/X11R6/lib目錄,如果是64位操作系統(tǒng),還有/usr/X11R6
/lib64目錄。此外還可能有其他特定Linux版本的系統(tǒng)庫目錄。
這些系統(tǒng)庫文件的完整和版本的正確,確保了Linux上面各種程序能夠正常的運行。
2、應用程序級別的系統(tǒng)共享庫
并非操作系統(tǒng)自帶,但是可能被很多應用程序所共享的庫,一般會被放在/usr/local/lib和/usr/local/lib64這兩個目錄下面。很多你自行編譯安裝的程序都會在編譯的時候自動把/usr/local/lib加入gcc的-L參數(shù),而在運行的時候自動到/usr/local
/lib下面去尋找共享庫。
以上兩類的動態(tài)共享庫,應用程序會自動尋找到他們,并不需要你額外的設置和擔心。這是為什么呢?因為以上這些目錄默認就被加入到動態(tài)鏈接程序的搜索路徑里面了。Linux的系統(tǒng)共享庫搜索路徑定義在/etc/ld.so.conf這個配置文件里面。這個文件的內(nèi)容格式大致如下:
/usr/X11R6/lib64
/usr/X11R6/lib
/usr/local/lib
/lib64
/lib
/usr/lib64
/usr/lib
/usr/local/lib64
/usr/local/ImageMagick/lib
假設我們自己編譯安裝的ImageMagick圖形庫在/usr/local/ImageMagick目錄下面,并且希望其他應用程序都可以使用
ImageMagick的動態(tài)共享庫,那么我們只需要把/usr/local/ImageMagick/lib目錄加入/etc/ld.so.conf文件里面,然后執(zhí)行:ldconfig
命令即可。
ldcofig將搜索以上所有的目錄,為共享庫建立一個緩存文件/etc/ld.so.cache。為了確認ldconfig已經(jīng)搜索到ImageMagick的庫,我們可以用上面介紹的strings命令從ld.so.cache里面抽取文本信息來檢查一下:
strings
/etc/ld.so.cache
|
grep
ImageMagick
輸出結(jié)果為:
/usr/local/ImageMagick/lib/libWand.so.10
/usr/local/ImageMagick/lib/libWand.so
/usr/local/ImageMagick/lib/libMagick.so.10
/usr/local/ImageMagick/lib/libMagick.so
/usr/local/ImageMagick/lib/libMagick++.so.10
/usr/local/ImageMagick/lib/libMagick++.so
已經(jīng)成功了!
3、應用程序獨享的動態(tài)共享庫
有很多共享庫只被特定的應用程序使用,那么就沒有必要加入系統(tǒng)庫路徑,以免應用程序的共享庫之間發(fā)生版本沖突。因此Linux還可以通過設置環(huán)境變量LD_LIBRARY_PATH來臨時指定應用程序的共享庫搜索路徑,就像我們上面舉的那個例子一樣,我們可以在應用程序的啟動腳本里面預先設置
LD_LIBRARY_PATH,指定本應用程序附加的共享庫搜索路徑,從而讓應用程序找到它。
linux命令行中mount point /mnt/cdr does not exist的意思是掛載點/mnt/cdr不存在,所以掛載時出現(xiàn)此錯誤提示。解決此問題可以先創(chuàng)建掛載點的目錄,命令為:
mkdir -p /mnt/cdr,然后再重新進行掛載。
擴展資料
1、linux 掛載命令用法介紹:
mount+掛載源 +掛載點?????????????
umount+掛載源 /掛載點
2、mount參數(shù)介紹:
-r 只讀
-W 讀寫默認
F: 這個命令通常和-a -起使用,它會為每一個mount的動作產(chǎn)生-個行程負責執(zhí)行。在系統(tǒng)需要掛上大量NFS檔案系統(tǒng)時可以加快掛上的動作。
f: 通常用在除錯的用途。它會使mount并不執(zhí)行實際掛上的動作,而是模擬整個掛上的過程。通常會和-V -起使用。
-V: 顯示較訊息,通常和-f用來除錯。
-L: 將含有特定標簽的硬盤分割掛上。
1、在啟動linux系統(tǒng)時,如果/boot/grub/grub.cfg文件損壞或者不存在時,啟動linux時,就會有Grub命令行的提示。
如下操作,將系統(tǒng)自帶的grub.cfg文件改名。
2、重新啟動系統(tǒng)后,發(fā)現(xiàn)和自己預想的一樣,沒有出現(xiàn)引導菜單。
3、在grub命令提示符下,可以使用一些命令加載內(nèi)核和文件系統(tǒng),設置根目錄的分區(qū)。
有的grub使用
linux
/boot/vmlinuz-xx
有的grub使用kernel
/boot/vmlinuz-xx,可自己輸入一個首字母,按TAB鍵查看,演示的grub支持的是linux命令
4、過一會出現(xiàn)下面的界面。
-
sudo
update-grub
-sudo
grub-install
/dev/sda
輸入這兩個命令后,新的grub.cfg就生成了,跟之前文件的一樣(前提是沒有對文件做任何更改)。
、配置文件介紹:
每個 Linux 程序都是一個可執(zhí)行文件,它含有操作碼列表,CPU 將執(zhí)行這些操作碼來完成特定的操作。
例如,ls 命令是由 /bin/ls 文件提供的,該文件含有機器指令的列表,在屏幕上顯示當前目錄中文件
的列表時需要使用這些機器指令。幾乎每個程序的行為都可以通過修改其配置文件來按照您的偏好或需
要去定制。
Linux 中有沒有一個標準的配置文件格式?
一句話,沒有。不熟悉 Linux 的用戶(一定)會感到沮喪,因為每個配置文件看起來都象是一個要迎
接的新挑戰(zhàn)。在 Linux 中,每個程序員都可以自由選擇他或她喜歡的配置文件格式??梢赃x擇的格式
很多,從 /etc/shells 文件(它包含被一個換行符分開的 shell 的列表),到 Apache 的復雜的
/etc/httpd.conf 文件。
什么是系統(tǒng)配置文件?
內(nèi)核本身也可以看成是一個“程序”。為什么內(nèi)核需要配置文件?內(nèi)核需要了解系統(tǒng)中用戶和組的列表,
進而管理文件權(quán)限(即根據(jù)權(quán)限判定特定用戶(UNIX_USERS)是否可以打開某個文件)。注意,這些文
件不是明確地由程序讀取的,而是由系統(tǒng)庫所提供的一個函數(shù)讀取,并被內(nèi)核使用。例如,程序需要某
個用戶的(加密過的)密碼時不應該打開 /etc/passwd 文件。相反,程序應該調(diào)用系統(tǒng)庫的 getpw() 函
數(shù)。這種函數(shù)也被稱為系統(tǒng)調(diào)用。打開 /etc/passwd 文件和之后查找那個被請求的用戶的密碼都是由
內(nèi)核(通過系統(tǒng)庫)決定的。
除非另行指定,Red Hat Linux 系統(tǒng)中大多數(shù)配置文件都在 /etc 目錄中。配置文件可以大致分為下面
幾類:
2、配置文件分類:
訪問文件
/etc/host.conf
告訴網(wǎng)絡域名服務器如何查找主機名。(通常是 /etc/hosts,
然后就是名稱服務器;可通過 netconf 對其進行更改)
/etc/hosts
包含(本地網(wǎng)絡中)已知主機的一個列表。如果系統(tǒng)的 IP 不
是動態(tài)生成,就可以使用它。對于簡單的主機名解析(點分表
示法),在請求 DNS 或 NIS 網(wǎng)絡名稱服務器之前,
/etc/hosts.conf 通常會告訴解析程序先查看這里。
/etc/hosts.allow
請參閱 hosts_access 的聯(lián)機幫助頁。至少由 tcpd 讀取。
/etc/hosts.deny
請參閱 hosts_access 的聯(lián)機幫助頁。至少由 tcpd 讀取。
引導和登錄/注銷
/etc/issue
/etc/issue.net
時也是管理員,那么在 group 文件中他的條目看起來就會是這樣的:user: * :
group-id : project1
/etc/nologin
這是一個普通的文本文件.你可以在里面寫上你喜歡的任何東西./etc/nologin
的作用在于,如果它存在,那么系統(tǒng)將拒絕任何非 root 用戶的登錄請求,并對其
它登錄用戶顯示此文件的內(nèi)容
此文件常由系統(tǒng)在停機前自動生成.有時系統(tǒng)管理員也會手工生成它,用以禁止
其它用戶登錄,方便進行一些管理工作.
etc/passwd
1.文件格式
/etc/passwd 存儲了系統(tǒng)中所有用戶的基本信息.可以說這是系統(tǒng)中最重要的一
個配置文件.對它作任何修改一定要小心謹慎.同時要經(jīng)常檢察這個文件,包括
它的內(nèi)容和權(quán)限設置.
使用 vi 編輯程序打開此文件,可以看到這個文件由許多行記錄組成.每一行記
錄對應著一個用戶.我們以第一行為例.第一行一般是 root 用戶的記錄,盡管這
不是必需的.實際上用戶記錄出現(xiàn)的順序并沒有任何的意義.
在我的系統(tǒng)中,/etc/passwd 的第一行看起來是這樣的:
root:x:0:0:root:/root:/bin/bash
每一條記錄都由 7 個字段組成,每個字段之間用冒號隔開.第一個字段是用戶
名,示例中是 root.第二個字段是用戶口令,示例中是一個字符 x,但這并不表示root 的口令是單個字符 x,而是說用戶口令被加密了,并且加密口令也沒有放在
本文件中,而是放到了/etc/shadow(參考 /etc/shadow).假如刪除這個 x,那么
root 的口令就清空了.第三個字段是用戶的用戶 ID,即 uid.第四個字段是用戶
的組 ID,即 gid. 這里要注意,系統(tǒng)分辨兩個用戶是看他們的 uid 是否相同而不
是看他們的用戶名是否相同.用戶名不同但 uid 相同的兩個用戶實際上是同一
個用戶.對組來說也有類似的規(guī)則.所以這兩個字段大家一定要注意.第五個字
段是用戶全稱,沒有什么實際用途,相當于注釋,這里是 root.第六個字段是用戶
的主目錄 (home),即登錄系統(tǒng)后默認所處目錄,這里是/root.最后一個字段是
用戶的登錄 shell,可以是系統(tǒng)擁有的任何一個 shell 的完整路徑,這里是
/bin/bash.注意,這個字段可以有一個特殊的值,即/sbin/nologin.如果把一個
用戶的登錄 shell 設置為 /sbin/nologin 的話,系統(tǒng)將禁止此用戶的本地登錄.
請參閱“man passwd”。它包含一些用戶帳號信息,包括密碼(如果未被 shadow
程序加密過)。
2.安全性
/etc/passwd 的默認權(quán)限為 644,所有者和所有組均為 root.切記,在任何情況下
都不要更改它.
3.相關(guān)命令
passwd
useradd
userdel
adduser
usermod
users
/etc/rpmrc
rpm 命令配置。所有的 rpm 命令行選項都可以在這個文件中一起設置,這樣,
當任何 rpm 命令在該系統(tǒng)中運行時,所有的選項都會全局適用。
/etc/securetty
包含設備名稱,由 tty 行組成(每行一個名稱,不包括前面的 /dev/),root
用戶在這里被允許登錄。
1.文件格式
這是一個設備文件的列表.文件名取相對于/dev 的相對路徑.如,/dev/tty1 記
為 tty1
root 只有從這個列表中列出的設備上才可以登錄系統(tǒng).
例如:
代碼:
$cat /etc/securretty
tty1
tty2
tty3
這里 root 被限定只能從/dev/tty1, /dev/tty2, /dev/tty3 這三個設備上登錄
系統(tǒng)
如果/etc/securretty 不存在的話,那么 root 將可以從任何設備登錄系統(tǒng).
2.安全性
/etc/securetty 的默認權(quán)限是 600,所有者和所有組都是 root
/etc/shadow
包含加密后的用戶帳號密碼信息,還可以包括密碼時效信息。包括的字段有:? 登錄名
? 加密后的密碼
? 從 1970 年 1 月 1 日到密碼最后一次被更改的天數(shù)
? 距密碼可以更改之前的天數(shù)
? 距密碼必須更改之前的天數(shù)
? 密碼到期前用戶被警告的天數(shù)
? 密碼到期后帳戶被禁用的天數(shù)
? 從 1970 年 1 月 1 日到帳號被禁用的天數(shù)
1.文件格式
/etc/shadow 文件保存的是用戶名,密碼,用戶賬號設置相關(guān)信息。
例:
root:$1$6UviCNvh$WTR0zPMek41KmzD0Z1DdV1:12264:3:4:5:6:12267:
第一段: root----- 用戶注冊名
第二段: $1$6UviCNvh$WTR0zPMek41KmzD0Z1DdV1 ----加密口令
第三段: 12264-----上次更動密碼的日期,以 1970 年 1 月 1 日為 1,1 天加 1
第四段: 3---------密碼將被允許修改之前的天數(shù)(0 表示“可在任何時間修
改”)
第五段: 4---------系統(tǒng)將強制用戶修改為新密碼之前的天數(shù)(1 表示“永遠
都不能修改”)
第六段: 5---------密碼過期之前,用戶將被警告過期的天數(shù)(-1 表示“沒有
警告”)
第七段: 6---------密碼過期之后,系統(tǒng)自動禁用帳戶的天數(shù)(-1 表示“永遠
不會禁用”)
第八段: 12267-----該帳戶被禁用的天數(shù)(-1 表示“該帳戶被啟用”).以 1970
年 1 月 1 日為 1,1 月 2 日為 2
第九段 ------ 保留供將來使用
注:第 2 段中為*表示帳號不可登錄,如密碼前為 !! 或只有 !! 表示帳號被鎖
2.安全性/etc/shadow 的默認所有者和所有組均為 root.
建議運行# chattr +i /etc/shadow 來保護文件使其不被意外地刪除或重寫
3.相關(guān)命令
passwd
useradd
userdel
usermod
/ect/gshadow
1.文件格式
/ect/gshadow 文件保存的是用戶和組群設置的信息
例:
root:!!::root,wa1
第一段:組名
第四段:該組包含用戶列表
2.安全性
/etc/gshadow 的默認所有者和所有組均為 root.
建議運行# chattr +i /etc/shadow 來保護文件使其不被意外地刪除或重寫
3.相關(guān)命令
groupadd
groupdel
groupmod
groups
/etc/sysctl.conf
1.文件格式
/etc/sysctl.conf 是 sysctl 程序的配置文件.sysctl 可以在系統(tǒng)運行時更改內(nèi)
核參數(shù)./etc/sysctl.conf 中的配置將在系統(tǒng)起動時執(zhí)行.
以 # 和 ; 開始的行是注釋,將和空白行一起被忽略.
配置項的格式為:
token = value
token 是一個鍵名,value 是對應的鍵值.token 和 value 前后的空格將被忽略
token 不能是隨意的字符串.他和/proc/sys 下的文件有一一對應的關(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
更改配置文件
在更改配置文件時,如果程序不是由系統(tǒng)管理員或內(nèi)核控制的,就要確保重新啟動過使用該配置的程
序。普通用戶通常沒有啟動或停止系統(tǒng)程序和/或守護進程的權(quán)限。
內(nèi)核
更改內(nèi)核中的配置文件會立即影響到系統(tǒng)。例如,更改 passwd 文件以增加用戶將立即使該用戶變?yōu)?/p>
可用。而且任何 Linux 系統(tǒng)的 /proc/sys 目錄中都有一些內(nèi)核可調(diào)參數(shù)。只有超級用戶可以得到對
所有這些文件的寫訪問權(quán)力;其它用戶只有只讀訪問權(quán)力。此目錄中文件的分類的方式和 Linux 內(nèi)
核源代碼的分類方式一樣。此目錄中的每個文件都代表一個內(nèi)核數(shù)據(jù)結(jié)構(gòu),這些數(shù)據(jù)結(jié)構(gòu)可以被動態(tài)
地修改,從而改變系統(tǒng)性能。
注意:在更改其中任何文件的任何值之前,您應該確保自己全面了解該文件,以避免對系統(tǒng)造成不可
修復的損害。
/proc/sys/kernel/ 目錄中的文件
文件名
描述
threads-max
內(nèi)核可運行的最大任務數(shù)。
ctrl-alt-del
如果值為 1,那么順序按下這幾個鍵將“徹底地”重新引
導系統(tǒng)。
sysrq
如果值為 1,Alt-SysRq 則為激活狀態(tài)。
osrelease
顯示操作系統(tǒng)的發(fā)行版版本號
ostype
顯示操作系統(tǒng)的類型。
hostname
系統(tǒng)的主機名。
domainname
網(wǎng)絡域,系統(tǒng)是該網(wǎng)絡域的一部分。
modprobe
指定 modprobe 是否應該在啟動時自動運行并加載必需
的模塊。
守護進程和系統(tǒng)程序
守護進程是永遠運行在后臺的程序,它默默地執(zhí)行自己的任務。常見的守護進程有 in.ftpd(ftp 服
務器守護進程)、in.telnetd(telnet 服務器守護進程)和 syslogd(系統(tǒng)日志記錄守護進程)。
有些守護進程在運行時會嚴密監(jiān)視配置文件,在配置文件改變時就會自動重新加載它。但是大多數(shù)守
護進程并不會自動重新加載配置文件。我們需要以某種方式“告訴”這些守護進程配置文件已經(jīng)被發(fā)
生了改變并應該重新加載??梢酝ㄟ^使用服務命令重新啟動服務來達到這個目的(在 Red Hat Linux
系統(tǒng)上)。
例如,如果我們更改了網(wǎng)絡配置,就需要發(fā)出:
service network restart 。
注意:這些服務最常見的是 /etc/rc.d/init.d/* 目錄中存在的腳本,在系統(tǒng)被引導時由 init 啟動。
所以,您也可以執(zhí)行如下操作來重新啟動服務:
/etc/rc.d/init.d/script-for-the-service start | stop | status
start、stop 和 status 是這些腳本接受的輸入值,用來執(zhí)行操作。
用戶程序用戶或系統(tǒng)程序在每次啟動時都會讀取其配置文件。盡管如此,請記住,有些系統(tǒng)程序在計算機打開
時情況不一樣,它們的行為依賴于在 /etc/ 中的配置文件中讀到的內(nèi)容。所以,用戶程序第一次啟
動時將從 /etc/ 目錄中存在的文件讀取缺省配置。然后,用戶可以通過使用 rc 和 .(點)文件來
定制程序,正如下面一節(jié)所示。
用戶配置文件:.(點)文件和 rc 文件
我們已經(jīng)看到怎樣容易地配置程序。但是如果有的人不喜歡在 /etc/ 中配置程序的方式該怎么辦呢?
“普通”用戶不能簡單地進入 /etc 然后更改配置文件;從文件系統(tǒng)的角度來看,配置文件的所有者
是 root 用戶!這就是大多數(shù)用戶程序都定義兩個配置文件的原因:第一個是“系統(tǒng)”級別的,位于
/etc/;另一個屬于用戶“專用”,可以在他或她的主目錄中找到。
例如,我在我的系統(tǒng)中安裝了非常有用的 wget 實用程序。/etc/ 中有一個 /etc/wgetrc 文件。在
我的主目錄中,有一個名為 .wgetrc 的文件,它描述了我定制的配置(只有在我,也就是用戶運行
wget 命令時,才會加載這個配置文件)。其它用戶在他們自己的主目錄(/home/other)中也可以
有 .wgetrc 文件;當然,只有這些用戶運行 wget 命令時,才會讀取這個文件。換句話說,/etc/wgetrc
文件為 wget 提供了“缺省”值,而 /home/xxx/.wgetrc 文件列舉了某個用戶的“定制項”。重要
的是這只是“一般規(guī)則”,并非所有情況都如此。例如,一個象 pine 一樣的程序,在 /etc/ 中并
沒有任何文件,它只在用戶主目錄中有一個定制配置文件,名為 .pinerc。其它程序可能只有 /etc/
中的缺省配置文件,而且可能不允許用戶“定制”這些配置文件(/etc 目錄中只有少數(shù) config. 文
件是這種情況)。
通常使用的 rc 和 .(點)文件
文件名
描述
~/.bash_login
請參考“man bash”。如果
~/.bash_profile 不存在,bash 則將
~/.bash_login 作為
~/.bash_profile 處理。
~/.bash_logout
請參考“man bash”。在退出時由
bash 登錄 shell 引用。
~/.bash_profile
由 bash 登錄 shell 引用
/etc/profile 之后引用。
~/.bash_history
先前執(zhí)行的命令的列表。
~/.bashrc
請參考“man bash”。由 bash 非登
錄交互式 shell 引用(沒有其它文
件)。除非設置了 BASH_ENV 或 ENV,
非交互式 shell 不引用任何文件。
~/.emacs
啟動時由 emac 讀取。
~/.forward
如果這里包含一個電子郵件地址,那
么所有發(fā)往 ~ 的所有者的郵件都會
被轉(zhuǎn)發(fā)到這個電子郵件地址。
~/.fvwmrc ~/.fvwm2rc
fvwm 和 fvwm2(基本的 X Window 管
理器)的配置文件。
~/.hushlogin
請參考“man login”。引起“無提
示”登錄(沒有郵件通知、上次登錄
信息或者 MOD 信息)。~/.mail.rc
郵件程序的用戶初始化文件。
~/.ncftp/
ncftp 程序的目錄;包含書簽、日志、
宏、首選項和跟蹤信息。請參閱 man
ncftp。ncftp 的目的是為因特網(wǎng)標準
文件傳輸協(xié)議(Internet standard
File Transfer Protocol)提供一個
強大而靈活的接口。它旨在替換系統(tǒng)
所使用的標準的 ftp 程序。
~/.profile
請參考“man bash”。如果
~/.bash_profile 和 ~/.bash_login
文件不存在,bash 則將 ~/.profile
作為 ~/.bash_profile 處理,并被其
它繼承 Bourn 的 shell 使用。
~/.pinerc
Pine 配置
~/.muttrc
Mutt 配置
~/.exrc
這個文件可以控制 vi 的配置。
示例:set ai sm ruler
在此文件中寫入上面一行會讓 vi 設
置自動縮進、匹配括號、顯示行號和
行-列這幾個選項。
~/.vimrc
缺省的“Vim”配置文件。和 .exrc
一樣。
~/.gtkrc
GNOME 工具包(GNOME Toolkit)。
~/.kderc
KDE 配置。
~/.netrc
ftp 缺省登錄名和密碼。
~/.rhosts
由 r- 工具(如 rsh、rlogin 等等)
使用。因為冒充主機很容易,所以安
全性非常低。
1. 必須由用戶(~/ 的所有者)或超
級用戶擁有。
2. 列出一些主機,用戶可以從這些主
機訪問該帳號。
3. 如果是符號鏈接則被忽略。
~/.rpmrc
請參閱“man rpm”。如果 /etc/rpmrc
不存在則由 rpm 讀取。
~/.signature
消息文本,將自動附加在從此帳號發(fā)
出的郵件末尾。
~/.twmrc
twm( The Window Manager)的配置
文件。~/.xinitrc
啟動時由 X 讀?。ǘ皇怯?xinit
腳本讀?。Mǔ右恍┏绦?。
示例:exec /usr/sbin/startkde
如果該文件中存在上面這行內(nèi)容,那
么在從這個帳號發(fā)出 startx 命令
時,這一行就會啟動“KDE 視窗管理
器”(KDE Window Manager)。
~/.xmodmaprc
此文件被傳送到 xmodmap 程序,而且
可以被命名為任何文件(例如
~/.Xmodmap 和 ~/.keymap.km)。
~/.xserverrc
如果 xinit 可以找到要執(zhí)行的 X,
xinit 就會將該文件作為 X 服務器
運行。
~/News/Sent-Message-IDs
gnus 的缺省郵件歷史文件。
~/.Xauthority
由 xdm 程序讀和寫,以處理權(quán)限。請
參閱 X、xdm 和 xauth 聯(lián)機幫助頁。
~/.Xdefaults,
~/.Xdefaults-hostname
在主機 hostname 的啟動過程中由 X
應用程序讀取。如果找不到
-hostname 文件,則查找 .Xdefaults
文件。
~/.Xmodmap
指向 .xmodmaprc;Red Hat 有使用這
個名稱的 .xinitrc 文件。
~/.Xresources
通常是傳送到 xrdb 以加載 X 資源
數(shù)據(jù)庫的文件的名稱,旨在避免應用
程序需要讀取一個很長
的 .Xdefaults 文件這樣的情況。(有
些情況曾經(jīng)使用了 ~/.Xres。)
~/mbox
用戶的舊郵件。
3、重要的配置文件列表:
啟動引導程序配置文件
LILO /etc/lilo.conf
GRUB /boot/grub/menu.lst
系統(tǒng)啟動文件核腳本
主啟動控制文件 /etc/inittab
SysV 啟動腳本的位置 /etc/init.d、/etc/rc.d/init.d 或/etc/rc.d
SysV 啟動腳本鏈接的位置 /etc/init.d/rc?.d、/etc/rc.d/rc?.d 或/etc/rc?.d
本地啟動腳本 /etc/rc.d/rc.local、/etc/init.d/boot.local 或/etc/rc.boot 里的文件
網(wǎng)絡配置文件
建立網(wǎng)絡接口的腳本 /sbin/ifup
保存網(wǎng)絡配置數(shù)據(jù)文件的目錄 /etc/network、/etc/sysconfig/network 和
/etc/sysconfig/network-scripts保存解析 DNS 服務的文件 /etc/resolv.conf
DHCP 客戶端的配置文件 /etc/dhclient.conf
超級服務程序配置文件和目錄
inetd 配置文件 /etc/inetd.conf
TCP Wrappers 配置文件 /etc/hosts.allow 和/etc/hosts.deny
xinetd 配置文件 /etc/xinetd.conf 和/etc/xinetd.d 目錄里的文件
硬件配置
內(nèi)核模塊配置文件 /etc/modules.conf
硬件訪問文件
Linux 設備文件 /dev 目錄里
保存硬件和驅(qū)動程序數(shù)據(jù)的文件 /proc 目錄里
掃描儀配置文件
SANE 主配置 /etc/sane.d/dll.conf
特定掃描儀的配置文件 /etc/sane.d 目錄里以掃描儀型號命名的文件
打印機配置文件
BSD LPD 核 LPRng 的本地打印機主配置文件 /etc/printcap
CUPS 本地打印機主配置和遠程訪問受權(quán)文件 /etc/cups/cupsd.conf
BSD LPD 遠程訪問受權(quán)文件 /etc/hosts.lpd
LPRng 遠程訪問受權(quán)文件 /etc/lpd.perms
文件系統(tǒng)
文件系統(tǒng)表 /etc/fstab
軟驅(qū)裝配點 /floppy、/mnt/floppy 或/media/floppy
光驅(qū)裝配點 /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
字體服務程序配置文件 /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 服務程序配置文件
Apache 主配置文件 /etc/apache、/etc/httpd 或/httpd/conf 里的 httpd.conf 或 httpd2.conf 文
件
MIME 類型文件 與 Apache 主配置文件在同一目錄里的 mime.types 或 apache-mime.types
文件服務程序配置文件
ProFTPd 配置文件 /etc/proftpd.conf
vsftpd 配置文件 /etc/vsftpd.conf
NFS 服務程序的輸出定義文件 /etc/exports
NFS 客戶端裝配的 NFS 輸出 /etc/fstab
Samba 配置文件 /etc/samba/smb.confSamba 用戶配置文件 /etc/samba/smbpasswd
郵件服務程序配置文件
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
遠程登錄配置文件
SSH 服務程序配置文件 /etc/ssh/sshd_config
SSH 客戶端配置文件 /etc/ssh/ssh_config
XDM 配置文件 /etc/X11/xdm 目錄下
GDM 配置文件 /etc/X11/gdm 目錄下
VNC 服務程序配置文件 /usr/X11R6/bin/vncserver 啟動腳本和~/.vnc 目錄里的文件
其他服務程序配置文件
DHCP 服務程序配置文件 /etc/dhcpd.conf
BIND 服務程序配置文件 /etc/named.conf 和/var/named/
NTP 服務程序配置文件 /etc/ntp.conf