歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux教程: Linux系統管理

Linux教程: Linux系統管理

日期:2017/2/28 16:35:32   编辑:Linux教程

1. 用戶和用戶組的管理:

Linux的多用戶概念是指多個用戶同時可以使用這個系統。

(1)用戶帳號文件——passwd

Passwd是一個文本文件(每一行標識1個用戶),定義了系統的用戶帳號,該文件位於“/etc”目錄下。文件中包含了一個系統帳戶列表,存放了每個賬戶一些有用的信息,如用戶ID,組ID,主目錄,shell等等(用“:”分隔開來)。只定義了用戶帳號,而不保存口令(用“x”表示,如果沒有sun::則表示沒有密碼)。真正的密碼存放在Shadow文件中,普通用戶根本不能讀,加密後的密文無法讀到就可以提高用戶帳號的安全性。

例如:

[root@sun root]# head /etc/passwd

root:x:0:0:root:/root:/bin/bash 表示有7個字段:登錄名:有無口令:www.linuxidc.com用戶ID:組ID:賬戶備注信息:用戶Home目錄:登錄時用戶shell的名稱(超級用戶有權限修改)

(2)用戶口令文件——shadow

每行定義了一個用戶信息,行中各字段用:分開,為進一步提高安全性,口令文件存放用戶已經加密的口令:*,特殊符號

[root@sun root]# head /etc/shadow

登錄名:加密的口令(用*或其他特殊字符表示):上次更改口令距離1970.1.1的天數:口令更改後不可更改的天數:口令更改後必須再更改的天數(有效期):口令失效前警告用戶的天數:口令失效後距帳號被查封的天數:帳號被封時距1970.1.1的天數:保留未用。

(3)用戶組帳號文件——group

用戶組:邏輯的組織用戶帳號的集合的方式,用戶允許在其組內共享文件,系統每個文件都有一個用戶和附屬的用戶組。使用“ls -l”命令可以查看每個文件的屬性和組。

[root@sun root]# head /etc/group

root:x:0:root,tom,mary (組名:組加密口令:GID:組成員列表(用,隔開的每個組用戶名))

(4)用戶組口令文件——gshadow

用於定義用戶組口令,用戶組管理員信息。該文件只有超級用戶root才可以讀取

每行記錄信息:

[root@sun root]# head /etc/gshadow

用戶組:用戶組加密口令:組管理員帳號(管理員有權進行增刪帳號):組成員列表

2. 用戶和用戶組賬戶維護的命令:

(1)增加用戶賬戶:useradd 用戶名

useradd –g 組名 用戶名 指定該用戶所使用的私有組名,默認是與用戶帳號同名的私有組。

useradd –D [-g group][-b base][-s shell][-f inactive][-e expire] 用於顯示和設置useradd該命令所使用的默認值。

例如:#useradd sun //建立用戶帳號

#tail -l /etc/passwd //查詢passwd中添加的用戶賬戶的信息

#tail –l /etc/shadow

#ls /home //查看所建立帳號的主目錄

(2)修改用戶帳號屬性:usermod [-LU][-c <備注>][-d <登入目錄>][-e <有效期限>][-f <緩沖天數>][-g <群組>][-G<群組>][-l<帳號名稱>][-s][-u][用戶帳號]

(3)刪除用戶帳號:userdel [-r][用戶帳號] //如果不加參數則只刪除用戶帳號,不刪除文件,否則兩者都刪除。

userdel [-r][用戶帳號] //-r用來刪除帳號登入目錄和目錄中所有文件

舉例:#grep sun /etc/passwd //查詢用戶帳號sun是否存在

#userdel sun //刪除用戶帳號sun

#grep sun /etc/passwd //再次查詢用戶帳號sun是否存在

#ll –d /home //查詢用戶sun主目錄是否存在

#userdel –r sun //刪除用戶的同時,刪除其工作主目錄

(4) 增加用戶組帳號:groupadd [-r][組帳號]

【注意】帳號ID唯一,數值不可為負,預設最小值不得小於500,且每增加一個,組帳號ID逐次自增1。其中-r參數是用來建立系統帳號的。0~499是給系統帳號准備的。

舉例:#groupadd magicSun //建立組賬戶magicSun

#grep magicSun /etc/group //查詢group文件中magicSun組賬戶是否建立

#groupadd –r sysWang //建立系統組賬戶sysWang

#grep sysWang /etc/group //查詢group文件中sysWang系統組賬戶是否建立

(5)修改組帳號:groupmod [-g <群組識別碼GID>]<-o>[-n<新群組名稱>][群組名稱]

其中-o表示重復使用群組識別碼

(6)刪除組帳號:groupdel [群組名稱]

【注意】必須先刪除組中的用戶才能刪除該組

(7)口令維護:passwd [-s][-l][-u][-d][用戶名] 超級用戶可以為每一位新增的用戶設置口令,普通用戶只能用不帶參數的passwd命令來修改自己的口令。其中參數-s表示用於查詢指定用戶帳號的狀態,-l用戶鎖定帳號的口令,-u解鎖帳號口令,-d刪除指定帳號的口令。

(8)組用戶成員維護:將一個賬戶添加到組、或將一個賬戶從組中刪除、將一個賬戶設為組管理員。

添加用戶到組:gpasswd –a 用戶帳號名組帳號名

從組中刪除用戶:gpasswd –d用戶帳號名 組帳號名

設置用戶為組管理員:gpasswd –A 組管理員用戶列表 用戶組

(9)用戶和組的狀態命令:

id [選項] [用戶名稱] 用於顯示用戶當前UID,gid以及所屬群組的組列表

[選項]參數有:

-g :顯示用戶所屬群組的id

-G:顯示用戶所屬附加群組的id

-n:顯示用戶所屬群組或附加群組的名稱

-r:顯示實際ID

-u:顯示用戶ID

whoami 用於顯示登錄者自身的名稱(=id -un)

su [-flmp] [-][-c <指令>][-s][用戶帳號] //用來將當前用戶轉換為其他用戶身份,暫時變更自己的登錄身份,用其他人的身份來登錄系統。前提是必須知道對方的口令。其中參數-c表示執行完指定的指令後恢復原來的身份。-f適用於csh和tsch,使shell不用去讀取啟動文件。-表示改變身份時也同時變更工作目錄,以及HOME,SHELL,USER,LOGNAME,此外也會變更PATH環境變量。-m,-p 變更身份時不變更環境變量。-s 指定要執行的shell。若不指定要變更的用戶賬戶,那麼預設為root超級用戶。

groups [用戶名稱] 用於顯示指定用戶所屬的組,若未指定用戶則顯示當前用戶所屬組

3. 進程管理:

Linux是個多用戶多任務的操作系統。

進程:在自身的虛擬地址空間運行的一個獨立的程序。Linux采用分時管理的方式使所有任務共同分享系統資源。程序是一個靜態的指令集不占系統的運行資源,而進程是一個隨時都可能發生變化,動態的,占用系統運行資源的過程。一個程序可以啟動多個進程。

(1)監測控制報告進程狀態:

(後台)進程查看:ps [選項]

選項參數:-e:顯示所有進程 -f:全格式 -h:不顯示標題 -l:給出長列表 -a:顯示終端上所有進程,包括其他用戶的進程。 -r: 只顯示正在運行的進程 -x:顯示沒有控制終端的進程 -txx:只顯示受tty.xx控制的進程 -u:打印用戶格式,顯示用戶名和起始時間 -j:按作業格式輸出 -v:按虛擬存儲器格式顯示輸出 -m:顯示存儲器信息 -S:增加子CPU時間和頁面出錯 -w:用寬格式顯示,不截取命令行,使它成為一行。

輸出字段:PID 進程號 TTY:進程相關終端 TIME:進程使用的總CPU時間

CMD:被執行的命令行 PPID:父進程ID號 PRI:進程優先級 WCHAN:進程等待的內核事件名 NI:進程的優先級調整值,較小的占用較少的CPU時間,優先級越大。 STAT:R表示可執行的,S表示睡眠狀態,D表示不間斷睡眠,T表示停止或跟蹤,Z表示父進程或系統進程來收拾,W表示進程沒有駐留頁(進程被排除在內存外),I表示空閒的(0號進程) %CPU 進程自第一次刷新以來所占用的CPU時間和總時間的百分比 %MEM 進程所用內存的百分比 VSZ 進程使用虛擬內存的大小(K) RSS 進程駐留空間的大小,顯示當前常駐內存的程序的K字節數

(2)結束進程:前台進程結束用ctrl+c ,後台進程結束用:kill [-s信號名或數字|-p<pid>] [-a] 進程號;如果發送9號信號,該進程一定消亡。

Kill –l[信號名] 顯示信號名稱列表(也可以在/usr/include/linux/signal.h文件中找到)並銷毀它。

(3)進程睡眠:當前正在執行的進程在規定時間內進入睡眠狀態。sleep time

注意:time是進程將睡眠的時間,以秒為單位。如$ sleep time

4.查看登錄用戶及日志文件信息:

(1)查看用戶的操作:w [用戶名]

第一行系統匯總信息:12:29:22 up 3:19, 3 users, load average:0.00,0.00,0.00

當前時間 系統運行時間,當前系統登錄用戶數為3,表示系統在過去1,5,10分鐘內的負載程度,數值越小表示系統負載越輕。

(2)查看登錄用戶簡單信息:who

(3)查看登錄用戶歷史信息:last

(4)查看日志文件(包含系統消息(內核、服務、應用程序等))信息

定位日志文件: /var/log

日志文件目錄中會有多個後面帶有數字的文件。這些文件是在日志文件被循環使時創建的。

logrotate軟件包中包含一個能自動根據/etc/logrotate.conf配置文件和/etc/logrotate.d目錄中的配置文件來循環日志文件的cron任務。按默認配置,日志每周都被循環,並保留四周之久(第四周就干掉原來那些日志文件)。

查看日志文件:主菜單->系統工具->系統日志 或shell終端鍵入:RedHat-logviewer 默認30秒刷新一次,可以通過“編輯->首選項”來改變刷新率。也可選擇“文件即可刷新”或按Ctrl+R來將文件立即刷新。為了重視日志信息,也可以設置為“警告”。

5. RedHat的控制面板:

Setup配置工具:可以實現基本系統恢復,包括救援模式,單用戶模式以及緊急模式。

Copyright © Linux教程網 All Rights Reserved