已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
中標普華系列培訓講義,系統(tǒng)管理,Linux系統(tǒng)管理本章學習目標,軟件包管理 進程管理 系統(tǒng)性能優(yōu)化 用戶和用戶組管理,Linux下的軟件包管理,Linux的一大特色就是采用Red Hat Package Manager(RPM)技術(shù)來安裝和刪除程序。由此大部分軟件的升級、安裝都要涉及到rpm包的問題,安裝,rpm 包的格式是這樣的:foo-1.0-1.i386.rpm 其中foo是包的名稱,1.0是包的發(fā)行版本,1是發(fā)行的次數(shù),而i386代表在哪個系統(tǒng)上使用(此處為x86系統(tǒng))。 安裝rpm包的命令格式是: rpm -i 安裝選項 比如我們想安裝foo-1.0-1.i386.rpm可以敲入以下命令: rpm -i foo-1.0-1.i386.rpm,升級,升級其實就是先反安裝文件再安裝新的rpm包,具體格式如下: rpm -U 升級選項 其實在以上兩個操作中我們可以添加一些選項來使安裝/升級更直觀一些:“h”可以用“#”來表示安裝的進度;“v”可以顯示較多的提示。 因此我們更常用的方法是: rpm -ivh 安裝軟件 rpm -Uvh 升級軟件,查詢,命令格式如下: rpm -q 查詢選項:其中當查詢選項為一個文件包的名字時,會把文件包的名稱及版本的詳細資料顯示出來。 -i 顯示軟件包的概要信息 -l 顯示軟件包中的文件列表 -c 顯示配置文件列表 -d 顯示文檔文件列表 -s 顯示軟件包中文件列表并顯示每個文件的狀態(tài) -scripts 顯示安裝、卸載、校驗?zāi)_本 -queryformat (or -qf) 以用戶指定的方式顯示查詢信息 -dump 顯示每個文件的所有已校驗信息 -provides 顯示軟件包提供的功能 -requires (or -R) 顯示軟件包所需的功能,下面具體列幾個常用的組合: rpm -qa 查詢所有安裝的包 rpm -qf foo 將包含有foo文件的包的名字顯示出來 rpm -ql PCD.rpm把PCD.rpm包里所有詳細情況列出 rpm -qa |grep PCD 察看PCD文件是否安裝,校驗,命令格式為rpm -V 校驗選項 在校驗正常時你不會看到任何結(jié)果,如果發(fā)現(xiàn)有任何異常的地方,將會以它特定的方法顯示出來。 參數(shù) pkg1 . pkgN 將要校驗的軟件包名 軟件包選項 -f 校驗所屬的軟件包 -a Verify 校驗所有的軟件包 -g 校驗所有屬于組 的軟件包 詳細選項 -noscripts 不運行校驗?zāi)_本 -nodeps 不校驗依賴性 -nofiles 不校驗文件屬性,刪除軟件包,命令格式: rpm -e 注意:這里不能輸入全部的軟件包名稱,否則將無法卸載!,其他補充命令,-test -percent -excludedocs -includedocs -replacepkgs -replacefiles -force -noscripts -prefix -ignorearch -ignoreos -nodeps 其他,其他打包文件,非RPM包的程序大多使用tar來打包,gzip來壓縮。 tar全名為Tap ARchiver,作用是把一大堆文件打包成一個文件(即tar文件)。但tar文件是沒有經(jīng)過壓縮的,要用gzip來壓縮。所以我們現(xiàn)在通常看見的 tar打包程序大都是以.tar.gz或.tgz結(jié)尾的壓縮文件。 在Linux的命令行上鍵入以下命令: tar xvfz filename.tar.gz(或filename.tgz) 有時候我們從網(wǎng)上下載了.tar.gz或.tgz文件,往往需要先看看里面的內(nèi)容再決定是否安裝。在Linux下,查看.tar.gz和.tgz文件內(nèi)容的命令是: tar tfz filename.tar.gz 在WIN95/98的環(huán)境里,Winzip 7.0也可以解壓和查看.tar.gz文件的內(nèi)容。,安裝源代碼包- 方法一,1.執(zhí)行rpm -i your-package.src.rpm 2. cd /usr/src/redhat/SPECS 3. rpmbuild -bp your-package.specs 一個和你的軟件包同名的specs文件 4. cd /usr/src/redhat/BUILD/your-package/ 一個和你的軟件包同名的目錄 5. ./configure 這一步和編譯普通的源碼軟件一樣,可以加上參數(shù) 6. make 7. make install,安裝源代碼包- 方法二,1.執(zhí)行rpm -i you-package.src.rpm 2. cd /usr/src/redhat/SPECS 前兩步和方法一相同 3. rpmbuild -bb your-package.specs 一個和你的軟件包同名的specs文件 這時,在/usr/src/redhat/RPM/i386/ (根據(jù)具體包的不同,也可能是i686,noarch等等) 在這個目錄下,有一個新的rpm包,這個是編譯好的二進制文件。 執(zhí)行rpm -i new-package.rpm即可安裝完成。,如何卸載rpm軟件包-補充,使用命令 rpm -e 包名,包名可以包含版本號等信息,但是不可以有后綴.rpm 比如卸載軟件包proftpd-1.2.8-1,可以使用下列格式: rpm -e proftpd-1.2.8-1 rpm -e proftpd-1.2.8 rpm -e proftpd- rpm -e proftpd 不可以是下列格式: rpm -e proftpd-1.2.8-1.i386.rpm rpm -e proftpd-1.2.8-1.i386 rpm -e proftpd-1.2 rpm -e proftpd-1 有時會出現(xiàn)一些錯誤或者警告: . is needed by . 這說明這個軟件被其他軟件需要,不能隨便卸載 可以用rp-e -nodeps強制卸載,應(yīng)用實例,假如你不小心刪除了一些文件而又不能肯定是哪些,你可以檢查整個系統(tǒng)來找出它們: rpm -Va 如果你想知道某個文件是來自哪個rpm包的: rpm -qf 文件名 如果你正在使用某個文件又想知道更多的關(guān)于它的資料,可以輸入: rpm -qdf 文件名 來找出這個文件的路徑。 如果你有一個新的rpm包又想知道更多的關(guān)于這個包的資料: rpm -qip 文件包名稱,應(yīng)用實例,一個rpm包中包含那些文件 一個沒有安裝過的軟件包,使用rpm -qlp *.rpm 一個已經(jīng)安裝過的軟件包,還可以使用rpm -ql *.rpm 獲取關(guān)于一個軟件包的版本,用途等相關(guān)信息? 一個沒有安裝過的軟件包,使用rpm -qip *.rpm 一個已經(jīng)安裝過的軟件包,還可以使用rpm -qi *.rpm,應(yīng)用實例,某個文件是哪個軟件包安裝的,或者哪個軟件包包含這個文件 注意 首先獲得這個程序的完整路徑,可以用whereis或者which 然后使用rpm -qf例如: # whereis ftptop ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz # rpm -qf /usr/bin/ftptop proftpd-1.2.8-1 # rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt proftpd-1.2.8-1,其他知識,軟件包文件名中的i386,i686是什么意思 rpm軟件包的文件名中,不僅包含了軟件名稱,版本信息,還包括了適用的硬件架構(gòu)的信息。 i386指這個軟件包適用于intel 80386以上的x86架構(gòu)的計算機(AI32) i686指這個軟件包適用于intel 80686以上(奔騰pro以上)的x86架構(gòu)的計算機(IA32) noarch指這個軟件包于硬件架構(gòu)無關(guān),可以通用。 i686軟件包的程序通常針對CPU進行了優(yōu)化,所以,向后兼容比較用以,i386的包在x86機器上都可以用。向前一般不兼容。不過現(xiàn)在的計算機,奔騰pro以下的CPU已經(jīng)很少用,通常配置的機器都可以使用i686軟件包,常見問題,不同操作系統(tǒng)發(fā)行的rpm包可否混用? 用rpm -e *.rpm無法刪除rpm包 在MS的系統(tǒng)下有沒有讀RPM文件的工具 linux圖形下有沒有工具? 是否可以通過ftp安裝安裝升級rpm包 rpm -ivh ftp:/xxxxxxxx/PATH2SomeRPM Rpm安裝時已有的包版本過高怎么辦,Linux的啟動和運行級別,重要文件及目錄 /etc/inittab /etc/rc.d/ /etc/grub.conf 啟動的服務(wù) Ntsysv,系統(tǒng)日志,Dmesg /var/log/(lastlog/wtmp/utmp) /var/log/secure etc/syslog.conf system-logviwer,3.3 進程管理 3.3.1 進程的定義 Linux是一個多用戶多任務(wù)的操作系統(tǒng)。多用戶是指多個用戶可以在同一時間使用計算機系統(tǒng);多任務(wù)是指Linux可以同時執(zhí)行幾個任務(wù),它可以在還未執(zhí)行完一個任務(wù)時又執(zhí)行另一項任務(wù)。 那到底什么叫進程?Linux系統(tǒng)上所有運行的程序都可以稱之為一個進程。Linux用分時管理方法使所有的任務(wù)共同分享系統(tǒng)資源。進程的一個比較正式的定義是在自身的虛擬地址空間運行的一個單獨的程序。進程與程序是有區(qū)別的,進程不是程序,雖然它由程序產(chǎn)生。程序只是一個靜態(tài)的指令集合,不占系統(tǒng)的運行資源;而進程是一個隨時都可能發(fā)生變化的、動態(tài)的、使用系統(tǒng)運行資源的程序。而且一個程序可以啟動多個進程。,3.3.2 報告進程狀態(tài),要對進程進行監(jiān)測和控制,首先必須要了解當前進程的情況,也就是需要查看當前進程,而ps命令就是最基本同時也是非常強大的進程查看命令。使用該命令可以確定有哪些進程正在運行、運行的狀態(tài)、進程是否結(jié)束、哪些進程占用了過多的資源等等。 ps命令最常用的還是用于監(jiān)控后臺進程的工作情況,因為后臺進程是不和屏幕鍵盤這些標準輸入/輸出設(shè)備進行通信的,所以如果需要檢測其情況,便可以使用ps命令。其命令語法格式如下: ps 選項 命令中的選項說明如下:, -e:顯示所有進程。 -f:全格式。 -h:不顯示標題。 -l:給出長列表。 -a:顯示終端上的所有進程,包括其他用戶的進程。 -r:只顯示正在運行的進程。 -x顯示沒有控制終端的進程。 -txx:只顯示受tty.xx控制的進程。 -u:打印用戶格式,顯示用戶名和起始時間。 -j:按作業(yè)格式輸出。 -v:按虛擬存儲器格式顯示輸出。 -m:顯示存儲器信息。 -S:增加子CPU時間和頁面出錯。 -w:用寬格式顯示,不截取命令行,使它成為一行。 -r:只顯示正在運行的進程。,表 ps命令輸出字段的含義 字 段 含 義 USER 進程所有者的用戶名 PID 進程號 %CPU 進程自最近一次刷新以來所占用的CPU時間和總時間的百分比 %MEM 進程使用內(nèi)存的百分比 VSZ 進程使用的虛擬內(nèi)存大小,以K為單位 RSS 駐留空間的大小。顯示當前常駐內(nèi)存的程序的K字節(jié)數(shù)。 TTY 進程相關(guān)的終端 STAT 進程狀態(tài),用下面的代碼中的一個給出: R:可執(zhí)行的。S:睡眠狀態(tài)。 D:不間斷睡眠。 T:停止或跟蹤。 Z:僵尸。W:進程沒有駐留頁。I:空閑。 TIME 進程使用的總CPU時間 COMMAND 被執(zhí)行的命令行 NI 進程的優(yōu)先級值,較小的數(shù)字意味著占用較少的CPU時間 PRI 進程優(yōu)先級。 PPID 父進程ID WCHAN 進程等待的內(nèi)核事件名,top,使用方式:top - d delay q c S s i n b top -n 1 -b | grep Mem top1.out d : 改變顯示的更新速度,或是在交談式指令列( interactive command)按 s c : 切換顯示模式,共有兩種模式,一是只顯示執(zhí)行檔的名稱,另一種是顯示完整的路徑與名稱S : 累積模式,會將己完成或消失的子行程 ( dead child process ) 的 CPU time 累積起來 s : 安全模式,將交談式指令取消, 避免潛在的危機 i : 不顯示任何閑置 (idle) 或無用 (zombie) 的行程 n : 更新的次數(shù),完成后將會退出 top b : 批次檔模式,搭配 “n“ 參數(shù)一起使用,可以用來將 top 的結(jié)果輸出到檔案內(nèi),顯示說明 17:31:42 up 18 days, 23:38, 1 user, load average: 0.00, 0.00, 0.00 當前時間 系統(tǒng)運行時間 當前用戶數(shù) 平均負責(1、5、10分鐘) 94 processes: 93 sleeping, 1 running, 0 zombie, 0 stopped 進程總數(shù) 休眠進程數(shù) 運行進程數(shù) 僵死進程數(shù) 終止進程數(shù) CPU states: cpu user nice system irq softirq iowait idle total 0.0% 0.0% 0.1% 0.0% 0.0% 0.0% 99.8% cpu00 0.0% 0.0% 0.3% 0.0% 0.0% 0.0% 99.6% cpu01 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 100.0% cpu狀態(tài) 用戶占用 優(yōu)先 系統(tǒng) 中斷 軟中斷 ? 空閑 Mem: 3094664k av, 2627700k used, 466964k free, 0k shrd, 120776k buff 1434068k actv, 155972k in_d, 41624k in_c Swap: 2048248k av, 130068k used, 1918180k free 1319416k cached 內(nèi)存使用情況:可用內(nèi)存,已使用內(nèi)存,空閑內(nèi)存. swap情況:= PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND 9590 root 25 0 172M 172M 11740 S 4.3 5.7 0:17 0 java,PID 每個進程的ID USER 進程所有者的用戶名 PRI 每個進程的優(yōu)先級別 NI 每個優(yōu)先級的值 SIZE 進程的代碼大小加上數(shù)據(jù)大小再加上堆棧空間大小的總數(shù),單位是KB RSS 進程占用的物理內(nèi)存的總數(shù)量,單位是KB SHARE 進程使用共享內(nèi)存的數(shù)量 STAT 進程的狀態(tài)。其中S代表休眠狀態(tài);D代表不可中斷的休眠狀態(tài);R代表運行狀態(tài);Z代表僵死狀態(tài);T代表停止或跟蹤狀態(tài) %CPU 進程自最近一次刷新以來所占用的CPU時間和總時間的百分比 %MEM 進程占用的物理內(nèi)存占總內(nèi)存的百分比 TIME 進程自啟動以來所占用的總CPU時間 CPU CPU標識 COMMAND 進程的命令名稱,vmstat,vmstat 1 1 是更新速度,1位1秒 procs -memory-swap-io-system-cpu- r b swpd free buff cache si so bi bo in cs us sy id wa 1 0 549368 13316 102388 91992 12 6 9 8 2 12 72 3 25 0 2 0 549368 13316 102388 91992 0 0 0 0 156 1516 98 2 0 0 2 0 549368 13312 102388 91992 0 0 0 0 125 534 99 1 0 0,Procs:r: The number of processes waiting for run time. b: The number of processes in uninterruptible sleep. Memory:swpd: the amount of virtual memory used. free: the amount of idle memory. buff: the amount of memory used as buffers. cache: the amount of memory used as cache. Swap:si: Amount of memory swapped in from disk (/s). so: Amount of memory swapped to disk (/s). IO:bi: Blocks received from a block device (blocks/s). bo: Blocks sent to a block device (blocks/s). System:in: The number of interrupts per second, including the clock. cs: The number of context switches per second. CPU:These are percentages of total CPU time. us: Time spent running non-kernel code. (user time, including nice time) sy: Time spent running kernel code. (system time) id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time. wa: Time spent waiting for IO. Prior to Linux 2.5.41, shown as zero.,iostat,rootlinux # iostat -c|-d -k -t 間隔秒數(shù) 探測次數(shù) 參數(shù): -c :僅顯示 CPU 的狀態(tài); -d :僅顯示存儲設(shè)備的狀態(tài),不可與 -c 一起用; -k :預設(shè)顯示的是 block ,這里可以改成 K bytes 的大小來顯示; -t :顯示日期出來;,# iostat -x Linux 2.4.21-9.30AX (localhost) 2006年07月14日 avg-cpu: %user %nice %sys %idle 3.85 0.00 0.95 95.20 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util /dev/hda 1.70 1.70 0.82 0.82 19.88 20.22 9.94 10.11 24.50 11.83 57.81 610.76 99.96 /dev/hda1 0.00 0.00 0.00 0.00 0.01 0.00 0.00 0.00 12.92 0.00 10.77 10.77 0.00 /dev/hda5 0.02 0.00 0.00 0.00 0.03 0.00 0.02 0.00 6.60 0.00 6.44 6.04 0.00 /dev/hda6 0.01 0.38 0.05 0.03 0.43 3.25 0.21 1.62 46.90 0.15 193.96 52.25 0.41 /dev/hda7 1.66 1.33 0.76 0.79 19.41 16.97 9.70 8.49 23.44 0.79 51.13 19.79 3.07,r/s: 每秒完成的讀 I/O 設(shè)備次數(shù)。即 delta(rio)/s w/s: 每秒完成的寫 I/O 設(shè)備次數(shù)。即 delta(wio)/s rsec/s: 每秒讀扇區(qū)數(shù)。即 delta(rsect)/s wsec/s: 每秒寫扇區(qū)數(shù)。即 delta(wsect)/s rkB/s: 每秒讀K字節(jié)數(shù)。是 rsect/s 的一半,因為每扇區(qū)大小為512字節(jié)。 wkB/s: 每秒寫K字節(jié)數(shù)。是 wsect/s 的一半。 avgrq-sz: 平均每次設(shè)備I/O操作的數(shù)據(jù)大小 (扇區(qū))。即 delta(rsect+wsect)/delta(rio+wio) avgqu-sz: 平均I/O隊列長度。即 delta(aveq)/s/1000 (因為aveq的單位為毫秒)。 await: 平均每次設(shè)備I/O操作的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio) svctm: 平均每次設(shè)備I/O操作的服務(wù)時間 (毫秒)。即 delta(use)/delta(rio+wio) %util: 一秒中有百分之多少的時間用于 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的,小經(jīng)驗 如果 %util 接近 100%,說明產(chǎn)生的I/O請求太多,I/O系統(tǒng)已經(jīng)滿負荷,該磁盤可能存在瓶頸。 svctm 一般要小于 await (因為同時等待的請求的等待時間被重復計算了),svctm 的大小一般和磁盤性能有關(guān),CPU/內(nèi)存的負荷也會對其有影響,請求過多也會間接導致 svctm 的增加。await 的大小一般取決于服務(wù)時間(svctm) 以及I/O 隊列的長度和 I/O 請求的發(fā)出模式。如果 svctm 比較接近 await,說明I/O 幾乎沒有等待時間;如果 await 遠大于 svctm,說明 I/O 隊列太長,應(yīng)用得到的響應(yīng)時間變慢,如果響應(yīng)時間超過了用戶可以容許的范圍,這時可以考慮更換更快的磁盤,調(diào)整內(nèi)核算法,優(yōu)化應(yīng)用,或者升級 CPU。 隊列長度(avgqu-sz)也可作為衡量系統(tǒng) I/O 負荷的指標,但由于 avgqu-sz 是按照單位時間的平均值,所以不能反映瞬間的 I/O 高鋒,系統(tǒng)性能優(yōu)化,經(jīng)常出現(xiàn)CPU等待I/O? 磁盤的工作集中在某個或某幾個上? CPU一直是滿負載? Raid 技術(shù)提高I/O性能 更先進的接口技術(shù) 更高性能磁盤 應(yīng)用調(diào)整 進程管理,3.3.3 結(jié)束進程,當需要中斷一個前臺進程的時候,通常是使用組合鍵;但是對于一個后臺進程這個組合鍵是不能達到目的的。這時就必須使用kill命令,該命令可以終止后臺進程。至于終止后臺進程的原因很多,或許是該進程占用的CPU時間過多;或許是該進程已經(jīng)掛死。 kill命令的語法格式很簡單,大致有以下兩種方 式: kill -s 信號 | -p -a 進程號 kill -l 信號 命令中的參數(shù)說明如下: -s:指定需要送出的信號。既可以是信號名也可以對應(yīng)數(shù)字。 -p:指定kill命令只是顯示進程的pid,并不真正送出結(jié)束信號。 -l:顯示信號名稱列表,這也可以在/usr/include/linux/signal.h文件中找到。 特殊應(yīng)用: Kill -SIGKILL 0,3.3.4 進程調(diào)度,Nice ! 查看進程的nice值 重新調(diào)度nice值 renice 只能提高,不能降低。 Root可以降低nice 只是短時間的權(quán)益之計 Sleep進程 ls;sleep 1m;ls,進程調(diào)度, 后臺執(zhí)行 top & ctrl+z 可終止 jobs fg %n bg %n nohup 退出登陸后繼續(xù)執(zhí)行 nohup make &,任務(wù)的定期調(diào)度,etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4 1 * * root run-parts /etc/cron.monthl minute hour day month dayofweek command,crontab的時間格式,minute hour day month dayofweek command 在以上任何值中,星號(*)可以用來代表所有有效的值。譬如,月份值中的星號意味著在滿足其它制約條件后每月都執(zhí)行該命令。 整數(shù)間的短線(-)指定一個整數(shù)范圍。譬如,1-4 意味著整數(shù) 1、2、3、4。 用逗號(,)隔開的一系列值指定一個列表。譬如,3, 4, 6, 8 標明這四個指定的整數(shù)。 正斜線(/)可以用來指定間隔頻率。在范圍后加上 / 意味著在范圍內(nèi)可以跳過 integer。譬如,0-59/2 可以用來在分鐘字段定義每兩分鐘。間隔頻率值還可以和星號一起使用。例如,*/3 的值可以用在月份字段中表示每三個月運行一次任務(wù)。 crontab -u 用戶名 -e /在root用戶中給普通用戶加計劃任務(wù)編輯操作 55 23 * * 03 lp /usr/local/message|mail -s “today message“ root,At 命令,at命令在一定時間后或在一定時刻內(nèi)執(zhí)行設(shè)置好的命令 標準輸入讀取 at 1:00am +2days echo Hello|mail root ctrl+D atq at -l 查詢 atrm 刪除,3.2 用戶和工作組管理 1. 用戶賬號文件passwd Passwd 是一個文本文件,用于定義系統(tǒng)的用戶賬號,該文件位于“/etc”目錄下。它包含了一個系統(tǒng)賬戶列表,給出每個賬戶一些有用的信息,例如,用戶 ID、組 ID、主目錄、shell等等。由于所有用戶都對passwd有讀權(quán)限,所以該文件中只定義用戶賬號,而不保存口令。 passwd文件中每行定義一個用戶賬號,一行中又劃分為多個字段定義用戶的賬號的不同屬性,各字段用“:”隔開。圖3-1中顯示了passwd文件的前10行內(nèi)容。在圖中顯示出了文件顯示各用戶的每一個字段,各字段的說明如表3-1所示。,表3-1 passwd文件各字段說明 字 段 說 明 Account 使用者在系統(tǒng)中的名字,它不能包含大寫字母。 Password 用戶口令,出于安全考慮,現(xiàn)在不使用該字段保存口令, 而用字母“x”來填充該字段,真正的密碼保存在shadow文件。 UID 用戶 ID 號,惟一表示某用戶的數(shù)字。 GID 用戶所屬的私有組號,該數(shù)字對應(yīng)group文件中的GID。 GECOS 這字段是可選的,通常用于保存用戶命名的信息。 Directory 用戶的主目錄,用戶成功登錄后的默認目錄。 shell 用戶所使用的shell,如該字段為空則使用“/bin/sh”。,從圖3-2中可以看出,“/etc/shadow”文件中的每個記錄用“:”隔開為9個域,每個域的含義分別為: 登錄名 加密口令 口令上次更改時距1970年1月1日的天數(shù) 口令更改后不可以更改的天數(shù) 口令更改后必須再更改的天數(shù)(有效期) 口令失效前警告用戶的天數(shù) 口令失效后距賬號被查封的天數(shù) 賬號被封時距1970年1月1日的天數(shù) 保留未用,3. 用戶組賬號文件group 用戶組是邏輯地組織用戶賬號集合的方便途徑,它允許用戶在組內(nèi)共享文件。系統(tǒng)上的每一個文件都有一個用戶和一個組的屬主。使用“l(fā)s l”命令可以看到每一個文件的屬主和組。 于系統(tǒng)上的每個組,在/etc/passwd文件中有一行記錄,記錄的格式為: groupname : passwd : GID : userlist 表3-2 group文件字段說明 字 段 說 明 Groupname 是組的名字 Passwd 是組的加密口令 GID 是系統(tǒng)區(qū)分不同組的ID,在/etc/passwd域 中的GID域是用這個數(shù)來指定用戶的缺省組。 Userlist 是用“,”分開的用戶名,列出的是這個組的成員。,4. 用戶口令文件gshadow gshadow文件用于定義用戶組口令、組管理員等信息,該文件只有root用戶可以讀取。Gshadow文件中每行定義一個用戶組信息,行中各字段間用“:”分隔,每行記錄的格式為: groupname : Encrypted password: Group administrators: Group members 各字段的的含義如表3-3所示。在圖3-4中給出了該文件的屬性及文件的部分內(nèi)容。 字 段 說 明 Groupname 用戶組名稱,該字段與group文件中的組名稱 對應(yīng)。 Encrypted password 用戶組口令,該字段用于保存已加密的口令 Group administrators 組的管理員賬號,管理員有權(quán)對該組添加刪除賬號。 Group members 屬于該組的用戶成員列表,列表中多個用戶間用“,”分隔。,3.2.2 用戶和組賬戶的維護命令,1. 增加用戶帳號 在命令行下使用 useradd 命令: useradd 用戶名 該命令做了下面幾件事: 1)在 /etc/passwd 文件中增添了一行記錄; 2)在 /home 目錄下創(chuàng)建新用戶的主目錄,并將 /etc/skel 目錄中的文件拷貝到該目錄中去;但是使用了該命令后,新建的用戶暫時還無法登錄,因為還沒有為該用戶設(shè)置口令,需要再用 passwd 命令為其設(shè)置口令后,才能登錄。用戶的 UID 和 GID 是 useradd 自動選取的,它是將 /etc/passwd 文件中的 UID 加 1,將 etc/group 文件中的 GID 加 1。,增加新用戶時,系統(tǒng)將為用戶創(chuàng)建一個與用戶名相同的組,稱為私有組。這一方法是為了能讓新用戶與其他用戶隔離,確保安全性的措施 下面通過增加一個用戶“l(fā)iuyidan”,以及查看其相關(guān)信息,來幫助用戶理解該命令所執(zhí)行的操作。其在終端上的操作命令及響應(yīng)如圖3-5所示。 #useradd liuyidan /建立用戶賬號 #tail -l /etc/passwd /查看password文件中添加的用戶 賬號信息 #tail -l /etc/shadow # ls /home /查看所建立賬號的主目錄,選項 功能描述 -g 用于添加用戶賬號時指定該用戶的私 有組。如不指定“-g”參數(shù),useradd命 令將自動建立與用戶賬號同名的組作 為該賬號的私有組。 -D 用于顯示或設(shè)置useradd命令所使用的 默認值 在“-g”選項時,其語法格式如下: useradd g 組名 用戶名 在“-D”選項中,如果是用來修改useradd命令所使用的默認值,那么該命令使用的語法格式如下: useradd D -g group-b base-s shell-f inactive-e expire,2. 修改用戶賬號usermod,usermod命令可用來修改用戶帳號的各種屬性,包括用戶主目錄、私有組、登錄、shell等內(nèi)容。Usermod的命令格式如下: usermod -LU-c -d -e -f -g -G -l -s -u 用戶帳號 該命令的各個參數(shù)說明如下: -c : 修改用戶帳號的備注文字。 -d: 修改用戶登入時的目錄。 -e : 修改帳號的有效期限。 -f :修改在密碼過期后多少天即關(guān)閉該帳號。 -g: 修改用戶所屬的群組。 -l :修改用戶帳號的名稱,下面舉例說明該命令的使用方法: ( 1)修改用戶名,把用戶名“l(fā)iuyidan”改名為“l(fā)yd”,使用的命令是: # usermod l lyd liuyidan (2)鎖定“l(fā)yd”用戶,使其不能登錄。命令如下: # usermod L lyd (3)解鎖“l(fā)yd”用戶賬號,使其可以登錄。命令如下: # usermod U lyd,3. 刪除用戶userdel,userdel命令用于刪除指定的用戶賬號。其使用的語法格式為: userdel -r用戶賬號 需要補充說明的是userdel命令可刪除用戶賬號與相關(guān)的文件。若不加參數(shù),則僅刪除用戶賬號,而不刪除相關(guān)文件。 其中參數(shù)“-f”是用來刪除用戶登入目錄以及目錄中所有文件。 下面舉例說明該命令的使用方法: #grep lyd /etc/passwd /查詢用戶賬號lyd 是否存在 #userdel lyd /刪除lyd賬號 #grep lyd /etc/passwd /再次查詢用戶賬 號lyd是否存在 #ll d /home /查詢用戶lyd的主 目錄是否還存在 #userdel r lyd /刪除用戶的同時 刪除其工作主目錄,4. 組增加命令groupadd,groupadd命令可指定群組名稱來建立新的群組賬號。該組賬號的ID值必須是惟一的,且數(shù)值不可為負。預設(shè)的最小值不得小于500,且每增加一個組賬號ID值逐次增加。ID值0499是保留給系統(tǒng)賬號使用。該指令使用的語法格式為: groupadd -r group 其中“-r”參數(shù)是用來建立系統(tǒng)賬號。系統(tǒng)賬號的ID值不能大于500。下面舉例說明該命令的使用方法: # groupadd lbgroup /建立組賬 號lbgroup # grep lbgroup /etc/group /查詢group文件中 lbgroup組是否建立 #groupadd r syslbgroup /建立系統(tǒng)組賬號 # grep lbgroup /etc/group /查詢group文件中 syslbgroup組是否建立,5. 組賬號修改,groupmod命令用來更改群組識別碼或名稱。該命令的語法格式為: groupmod -g -n 群組名稱 命令中所使用的參數(shù)說明如下: -g 設(shè)置欲使用的群組識別碼。 -o 重復使用群組識別碼。 -n 設(shè)置欲使用的群組名稱。,下面舉例說明該命令的使用方法: # grep lbgroup /etc/group /查詢group文件 中l(wèi)bgroup組屬性 #groupmod g 503 lbgroup /改變lbgroup組 的GID為503 # grep lbgroup /etc/group /查詢操作結(jié)果是 否正確 #groupmod n ydgroup lbgroup /改變lbgroup組 名為ydgroup # grep 503 /etc/group /查詢操作結(jié)果是 否正確,6. 刪除組賬號 groupdel命令用于刪除指定的組賬號,若該群組中仍包括某些用戶,則必須先刪除這些用戶后,方能刪除群組。該命令的語法格式為: groupdel 群組名稱 7.口令維護命令 出于系統(tǒng)安全考慮,Linux系統(tǒng)中的每一個用戶除了有其用戶名外,還有其對應(yīng)的用戶口令。因此使用useradd命令增加時,還需使用passwd命令為每一位新增加的用戶設(shè)置口令;用戶以后還可以隨時用passwd命令改變自己的口令。該命令的一般格式為: passwd 用戶名 其中用戶名為需要修改口令的用戶名。只有超級用戶可以使用“passwd 用戶名”修改其他用戶的口令,普通用戶只能用不帶參數(shù)的passwd命令修改自己的口令。,另外,passwd命令還可以使用一些參數(shù)選項,這些參數(shù)選項可對賬號的口令進行不同的操作,但這些帶參數(shù)的passwd命令只有root用戶可以使用。這些參數(shù)選擇包括: -S:用于查詢指定用戶賬號的狀態(tài)。 -l:用于鎖定賬號的口令。 -u:解除鎖定賬號
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年物業(yè)與業(yè)主社區(qū)養(yǎng)老服務(wù)體系合同3篇
- 二零二五版高速公路監(jiān)控系統(tǒng)集成采購與安裝合同2篇
- 2025版定制化鐵藝工程勞務(wù)分包服務(wù)合同3篇
- 安徽省高三上學期校聯(lián)考化學試卷及答案(含答案解析)
- 二零二五年度木地板產(chǎn)品回收與再利用合同3篇
- 二零二五版養(yǎng)老設(shè)施建設(shè)項目合伙承包合同樣本3篇
- 2025年度某某酒店電梯設(shè)施維護保養(yǎng)合同2篇
- 2025年健身會員俱樂部合約
- 2025年代理經(jīng)營費用協(xié)議
- 2025年企業(yè)員工補償合同
- 勞務(wù)協(xié)議范本模板
- 人教版(2024)數(shù)學七年級上冊期末測試卷(含答案)
- 2024年國家保密培訓
- 2024年公務(wù)員職務(wù)任命書3篇
- CFM56-3發(fā)動機構(gòu)造課件
- 會議讀書交流分享匯報課件-《殺死一只知更鳥》
- 2025屆撫州市高一上數(shù)學期末綜合測試試題含解析
- 公司印章管理登記使用臺賬表
- 磚廠承包合同簽訂轉(zhuǎn)讓合同
- 思政課國內(nèi)外研究現(xiàn)狀分析
- 2023年公務(wù)員多省聯(lián)考《申論》題(廣西B卷)
評論
0/150
提交評論