Linux6基礎命令

關閉系統的防火牆:(1)關閉iptables chkconfig iptables off
(2)關閉selinux: vim /etc/sysconfig/selinux 修改‘’SELINX=disabled’,保存並退出。
(3)重啓系統:reboot 或 init 6
Init進程對應的PID號總是爲“1”。
Init配置文件
/etc/inittab 配置默認運行級別
/etc/sysconfig/init 控制tty終端的開啓數量、終端顏色方案
/etc/init/rcS.conf 加載rc.sysinit腳本,完成系統初始化任務
/etc/init/rc.conf 兼容腳本,負責各運行級別的調用處理
/etc/ini/rcS-sulogin.con 爲單用戶模式啓動/sbin/sushell環境
/etc/init/control-alt-delete.conf 控制終端下的Ctrl+Alt+Del熱鍵操作
/etc/init/start-ttys.conf 配置tty終端的開啓數量、設備文件
/etc/init/tty.conf 控制tty終端的開啓
Id:runlevels:action:process
即 標記:運行級別:動作類型:程序或腳本
各運行級別的含義及用途
Init 0:關機狀態,使用該級別時將會關閉主機。
Init 1:單用戶模式,不需要密碼驗證即可登錄系統,多用於系統維護。
Init 2:字符界面的多用戶模式(不支持訪問網絡)。
Init 3:字符界面的完整多用戶模式,大多數服務器主機運行在此級別。
Init 4:未分配使用。
Init 5:圖形界面的多用戶模式,提供了圖形桌面操作環境。
init 6:重新啓動,使用該級別時將會重啓主機。
切換系統的運行級別: init 數字
查看系統的運行級別: runlevel
系統服務控制
Service 服務名稱 控制類型 或者 /etc/rc.d/init.d/服務名稱 控制類型
常見的控制類型
•start (啓動):運行指定的系統服務程序,實現服務功能。
•stop (停止):終止指定的系統服務程序,關閉相應的功能。
•restart (重啓):先退出,再重新運行指定的系統服務程序。
•reload (重載):不退出服務程序,只是刷新配置。
•status (查看狀態):查看指定的系統服務的運行狀態及相關信息。

優化開機自動加載的服務
1) 使用ntsysv圖形工具: []裏有*代表啓動。
2) 使用chkconfig工具:
Chkconfig --list //查看所有服務的默認啓動狀態
Chkconfig --list 服務名稱 //查看某個服務的默認啓動狀態
Chkconfig --level 運行級別列表 服務名稱 on|off //可以指定某個服務開啓或關閉
Linux命令分類
內部命令:指的是集成於Shell解釋器程序(如Bash)內部的一些特殊指令,也稱爲內建(Built-in)指令。
外部命令:指的是Linux系統中能夠完成特定功能的腳本文件或二進制程序,每個外部命令對應了系統中的一個文件,是屬於Shell解釋器程序之外的命令。Linux系統必須知道外部命令對應的文件位置,才能夠由Shell加載並執行。
Linux命令行的格式: 命令字 [選項] [參數]
1) 命令字:即命令名稱,是整條命令中最關鍵的一部分。
2) 選項的作用是調節命令的具體功能,決定這條命令如何執行。
•不同的命令字,其能夠使用的選項也會不同(選項的個數和內容)。
•選項的數量可以是多個,也可以省略。同時使用多個選項時,選項之間使用空格分隔。若不使用選項,將執行命令字的默認功能。
•使用單個字符的選項時,一般在選項前使用“—”符號(半角的減號符)引導,稱爲短格式選項,如“-l”。多個單字符選項可以組合在一起使用,如“-al”等同於“-a -l”。
•使用多個字符的選項時,一般在選項前使用“——”符號(兩個半角的減號符)引導,稱爲長格式選項,如“——help”。
3) 參數:命令參數是命令字的處理對象,通常情況下命令參數可以是文件名、目錄(路徑)名或用戶名等內容。
獲得命令幫助
1) 使用help命令是查看各Shell內部命令的幫助信息。
2) 使用“——help”選項對於大多數Linux外部命令,可以顯示對應的命令字格式及選項等幫助。
3) Man手冊(manual page)是Linux系統中最爲常用的一種在線幫助形式。
列如:[root@localhost ~]#man ls | col -b > lshelp.txt
在這個列子中,其中col是一各命令程序,用於過濾文本中的一些特殊控制字符;另外還使用到了“|”和“>”符號,這是Shell環境中的兩種特殊功能應用,分別稱爲“管道”、“重定向輸出”。
•管道:使用豎槓符號“|”表示,用於將前面命令的屏幕輸出結果作爲後面命令的操作對象(輸入)。就好像一根管道一樣,從這頭塞入內容,從另一頭出來。
•重定向輸出:使用大於符號“>”表示,前面的命令成功執行以後,其屏幕輸出結果將保存到“>”號後邊指定的文件中(覆蓋),而不是直接輸出到屏幕。“>>”表示追加不覆蓋。
部分常見命令及作用
命令示例 作用
uname -r 查看當前使用的Linux內核版本信息
cat/proc/cpuinfo 查看當前主機的CPU型號、規格等信息
cat/proc/meminfo 查看當前主機的內存信息
hostname 查看當前主機的完整名稱
Ifconfig eth0 查看第1塊以太網卡的地址信息
shutdown -h now 關機
shutdown -r now 重啓
pwd 顯示用戶當前所在的工作目錄位置
cd — 將用戶的工作目錄更改到其他位置
• — 當前的工作目錄
•• — 當前目錄的上一級目錄
~用戶名 — 指定用戶的宿主目錄,省略用戶名時爲當前用戶
— 上一次的工作目錄

Ls 顯示目錄中的內容,包括子目錄和文件的相關屬性信息等
-l 以長格式顯示,包括權限、大小、最後更新時間等信息
-a
顯示所有子目錄和文件,包括隱藏目錄和隱藏文件
-d 顯示目錄本身的屬性,而不是顯示目錄中的內容
-h
以K、M等單位顯示大小,而不是默認字節

du 統計指定目錄(或文件)所佔用磁盤空間的大小
-a — 統計時包括所有的文件,而不僅僅只統計目錄
-h — 以K、M等單位顯示統計結果
-s — 只統計參數所佔總大小,而非子目錄、文件的大小

touch 創建空文件
mkdir 用於創建新的空目錄
-p — 一次性創建嵌套的多層目錄

ln 爲文件或目錄建立鏈接文件(類似Windows的快捷方式)
-s — 創建軟鏈接

cp 複製文件或目錄
-f — 覆蓋同名文件或目錄時不進行提醒,而直接強制複製
-i — 覆蓋同名文件或目錄時提醒用戶確認
-p — 複製時保持源文件的權限、屬主及時間標記等屬性不變
-r — 複製目錄時使用,表示遞歸複製所有文件及子目錄

rm 用於刪除指定的文件或目錄
-f — 刪除文件或目錄時不進行提醒,而直接強制刪除
-i — 刪除文件或目錄時提醒用戶確認
-r — 刪除目錄時使用,表示遞歸刪除整個目錄樹

mv 將指定的文件或目錄轉移位置,如果目標位置於源位置相同,則效果相當於爲文件或目錄改名
which 查找用戶所執行的命令文件存放的目錄

find 查找文件或目錄
-name — 根據目標文件的名稱進行查找,可使用“*”及“?”通賠符
-size — 根據目標文件的大小進行查找
-user — 根據文件是否屬於目標用戶進行查找
-type — 根據文件的類型(f/d/b/c)進行查找

查看及檢索文件
1) cat命令—顯示並連接(Concatenate)文件的內容
例如:查看cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 //第一塊網卡
ONBOOT=yes
BOOTPROTO=none //定義網卡,靜態static 或none;動態dhcp.
NETMASK=255.255.255.0 //子網掩碼
IPADDR=192.168.4.11 //ipv4地址
GATEWAY=192.168.4.254 //網關
TYPE=Ethernet //類型:以太網
查看多個文件的內容 cat /etc/redhat-release /proc/version
//前者記錄了RHEL系統的發行版本信息,後者記錄了系統內核及開發環境,時間等信息。
2)more和less命令—分頁查看文件內容
例如:分屏查看more /etc/httpd/conf/httpd.conf(網站配置文件)的內容。
在該閱讀界面中,可以按enter鍵向下逐行滾動查看,按空格鍵可以向下翻一屏,按b鍵向上翻一屏,按q鍵退出並返回到原來的命令環境。
more命令除了可以分屏查看文件內容以外,還可以結合管道符號“|”分屏查看執行命令時的輸出信息,這在命令輸出內容較多的情況下特別有用。
例如:分頁查看/etc/目錄下有那些擴展名爲“.conf”的配置文件。命令如下:
ls –lh /etc/.conf | more
3)head和tail命令—查看文件開頭或末尾的部分內容
“head -n” head是頭部(n爲具體行數)。 “tail -n” tail 查看末尾,配合“-f”可跟蹤動態更新。
例如:查看用戶賬號文件/etc/passwd開頭第1行至第4行的部分內容。 head -4 /etc/passwd
例如:查看系統公共日誌文件/var/log/messages的最後十行內容,並在末尾跟蹤顯示該文件中新紀錄的內容(按ctrl+c組合鍵終止)。tail -f /var/log/messages
統計和檢索文件內容
1) wc命令— 統計文件內容中的單詞數量(word count)、行數等信息
參數: •-c:統計文件內容中的字節數
•-l: 統計文件內容中的行數
•-w:統計文件內容中的單詞個數
使用不帶任何參數選項的wc命令時,默認同時使用以上的三個選項。
例如:查看/etc/passwd文件中有多少行。 Wc -l /etc/passwd
若要統計/etc/目錄下共包含多少個擴展名爲“.conf”的文件,可以先通過“find /etc -name “
.conf””命令找出符合條件的文件位置,每行記錄一個文件內容。find /etc -name “*.conf” | wc -l
2)grep命令—檢索、過濾文件內容
參數 : •-i:查找內容時忽略大小寫(lgnore case).
(選項) •-v:反轉查找(invert),即輸出與查找條件不相符的行。
例如:執行“grep “ftp” /etc/passwd””命令,可以在賬號文件/etc/passwd中查找包含“ftp”字符串的行,實際上輸出了名爲ftp的用戶賬號的信息。
例如:顯示出/etc/vsftpd/vsftpd.conf文件中以“#”開頭的行和空行以外的內容。($代表空行)。命令如下:
grep -v “^#” /etc/yum.conf | grep -v “^$”
使用壓縮和解壓縮工具
1) gzip和gunzip命令
使用gzip製作的壓縮文件默認的擴展名爲“.gz”。製作壓縮文件時,使用“-9”選項可以提高壓縮的比率,但文件較大時會需要更多的時間。
gzip 文件或目錄 這是.gz壓縮。 解壓:gzip –d 文件.gz 或者 gunzip 文件.gz
2) bzip2和bunzip2命令的用法與gzip、gunzip命令基本相同,使用bzip2製作的壓縮文件默認的擴展名爲“.bz2”
使用tar歸檔和釋放工具的幾個選項
•-c(小寫):創建(create),tar格式的包文件。
•-C:解壓時指定釋放的目標文件夾。
•-f:表示使用歸檔文件。
•-j:調用bzip2程序進行壓縮或解壓。
•-p(小寫):打包時保留文件及目錄的權限。
•-P:打包時保留文件及目錄的絕對路徑。
•-t:列表查看包內的文件。
•-v:輸出詳細信息(verbose)。
•-x:解壓.tar格式的包文件。
•-z:調用gzip程序進行壓縮或解壓。
命令格式: tar [選項] ••• 歸檔及壓縮文件名 需要歸檔的源文件或目錄•••
例如:在當前目錄下生成名爲sysfile.tar.gz的歸檔壓縮包。
tar zcf sysfile.tar.gz /etc /boot //對etc下的boot壓縮成名爲sysfile.tar.gz的歸檔
若要用”.tar.bz2”格式的歸檔壓縮包,則將“—z”選項改爲“—j”選項使用即可。
從歸檔文件中恢復數據迷路格式
tar [選項] ••• 歸檔及壓縮文件名 [-C(大寫)目標目錄]
例如:將備份的usershome.tar.bz2中恢復數據,釋放到根目錄下(將覆蓋現有文件)。
tar jxf /tmp/usershome.tar.bz2 -C /
設置命令別名 例如:將vi指向vim程序 命令如下。
alias vi=’/usr/bin/vim’
which -a vi vim 查看命令的位置
vi編輯器的工作模式:
命令模式 輸入模式 末行模式
命令模式中的基本操作
1) 模式切換
•a:在當前光標位置之後插入內容。
•A:在光標所在行的末尾(行尾)插入內容。
•i:在當前光標位置之前插入內容。
•l:在光標所在行的開頭(行首)插入內容。
•o:在光標所在行的後面插入一個新行。
•O:在光標所在行的前面插入一個新行。
2) 移動光標
翻頁
•使用Page Down鍵或Ctrl+F組合鍵向下翻動一整頁內容。
•使用Page Up鍵或Ctrl+B組合鍵向上翻動一整頁內容。

光標移動左右上下。

行內快速跳轉
•按Home鍵或^鍵、數字0鍵將光標快速跳轉到本行的行首。
•按End鍵或$鍵將光標快速跳轉到本行的行尾。
行間快速跳轉
•使用按鍵命令1G或者gg可跳轉到文件內容的第1行。
•使用按鍵命令G可跳轉到文件的最後一行。
•使用按鍵命令#G可跳轉到文件中的第#行(其中“#”號用具體數字替換)。
末行使用
“:set nu ”命令即可顯示行號 “:set nonu”命令可以取消顯示行號。
3) 複製、粘貼和刪除
刪除操作
•使用x鍵或Del按鍵刪除光標處的單個字符。
•使用按鍵命令dd刪除當前光標所在行,使用#dd的形式還可以刪除從光標處開始的#行內容(其中“#”號用具體數字替換)。
•使用按鍵命令d^刪除當前光標之前到行首的所有字符。
•使用按鍵命令d$刪除當前光標處到行尾的所有字符。
複製操作
•使用按鍵命令yy複製當前行整行的內容到剪貼板,使用#yy的形式還可以複製從光標處開始的#行內容(其中“#”號用具體數字替換)。複製的內容需要粘貼後才能使用。
粘貼操作
•在vi編輯器中,前一次被刪除或複製的內容將會保存到剪切板緩衝器中,按p(小寫)鍵即可將緩衝區中的內容粘貼到光標位置處之後,按P(大寫)鍵則會粘貼到光標位置處之前。
4)查找文件內容
在命令模式中,按/鍵後可以輸入指定的字符竄,從當前光標處開始向後進行查找(?向前查找)。
5)撤退編輯及保存和退出
在對文件內容進行編輯時,有時候會需要對一些失誤的編輯操作進行撤銷,這時可以使用按u,U鍵。
保存當前的文件內容並退出vi編輯器時,可以按zz命令。
末行模式中的基本操作

  1. 保存文件 :w 例如:把當前保存到/root目錄下,文件名爲newfile。 //:w /root/newfile
  2. 退出編輯器“:q”命令。“q!”命令強行退出。
  3. 保存並退出。“:wq”或者“:x”。
  4. 打開新的文件進行編輯“:e”
  5. 在當前文件中讀入其他文件內容“:r”
    替換文件內容
    : [替換範圍] sub /舊的內容/新的內容[/g]
    •%:在整個文件內容進行查找並替換。
    •n,m:在指定行數範圍以內的文件內容中進行查找並替換。
    •最末尾的“/g”部分也是可選內容,表示對替換範圍內每一行的所有匹配結果都進行替換,省略“/g”時將只替換每行中的第一個匹配結果。
    例如:將文檔中第5~15行中的“initdefault”字符竄替換爲”DEFAULT”。
    命令 : :5,15 sub /initdefault/DEFAULT/g
    如果是全部所有把“5,15”換成“%”,%代表全部。
    Linux命令與應用程序的關係
    •應用程序命令的執行文件大多比較小,通常放置在/bin和/sbin目錄中。對於內部命令,常集成在Bash程序內,而不是獨立地執行文件。
    •命令文件一般在安裝操作系統時一起安裝,用於輔助操作系統本身的管理。
    •命令行大多適用於“命令字 選項 參數”形式的一般格式。
    •命令只在字符操作界面中運行。
    •應用程序的執行文件通常放在/usr/bin、/usr/sbin和/usr/local/bin、/usr/local/sbin等目錄中。
    •應用程序一般需要在操作系統之外再另行安裝,提供相對獨立於操作系統的功能,有時候等同於“軟件”的概念。
    •應用程序一般沒有固定的執行格式,運行方式由程序開發者自行定義。
    •應用程序可能會使用到圖形界面,形式多樣。
    •有些應用程序提供的執行文件,能夠使用像Linux命令一樣的運行格式,所以也經常被稱爲程序命令。
    Linux應用程序的組成
    •普通的可執行程序文件。一般保存在“/usr/bin”目錄中,普通用戶即可執行。
    •服務器程序、管理程序文件。一般保存在“/usr/sbin”命令中,只有管理員能執行。
    •配置文件。一般保存在“/etc”命令中,配置文件較多時會建立相應的子目錄。
    •日誌文件。一般保存在“/var/log”目錄中。
    •關於應用程序的參考文檔等數據。一般保存在“/usr/share/doc/”目錄中。
    •執行文件及配置文件的man手冊頁。一般保存在“/usr/share/man/”目錄中。
    執行“rpm -ql postfix”命令,可以查看postfix軟件包在系統中安裝的目錄和文件清單。
    軟件包的封裝類型
    •RPM軟件包:這中軟件包文件的擴展名爲“.rpm”,只能在使用RPM機制的Linux操作系統中安裝。
    •DEB軟件包:這中軟件包文件的擴展名爲“.deb”,只能在使用DPKG機制的Linux操作系統中安裝。
    •源代碼軟件包:這種軟件包時程序員開發完成的原始代碼,一般被製作成“.tar.gz”、“.tar.bz2”等格式的壓縮包文件,因多數使用tar命令打包而成,被稱爲“TarBall”,需要使用相應的編譯工具,如Linux中的C語言編譯器gcc。
    •附帶安裝程序的軟件包:這種軟件包的擴展名不一,但扔以TarBall格式的居多。
    例如:掛載RHEL6.5的DVD光盤設備,並查看其中的bash和fontconfig-devel軟件包。
    mkdir -p /media/cdrom //建立光盤掛載位置
    mount /dev/cdrom /media/cdrom //掛載光盤設備到此文件中
    cd /media/cdrom/Packges/ //進入到光盤安裝包中
    ls -lh bash fontconfig-devel //顯示帶有開頭字母安裝包
    使用RPM包管理命令——rpm
    “ man rpm”命令可以獲得關於rpm命令的詳細幫助信息。
    三類功能: •查詢、驗證RPM包的相關信息。
    •安裝、升級、卸載RPM軟件包。
    •維護RPM數據庫信息等綜合管理操作。
    1) 查詢已安裝的RPM軟件包信息
    •q:查詢已知名稱的軟件包是否已經安裝
    •qc:顯示指定軟件包安裝的配置文件
    •qd:僅顯示指定軟件包安裝的文檔文件
    •qa:顯示當前系統中以RPM方式安裝的所有軟件列表
    •qi:查看指定軟件包的名稱、版本、許可協議、用途描述等詳細信息(——info)。
    •ql:顯示指定的軟件包在當前系統中安裝的所有目錄、文件列表(——list)。
    •qf:查看指定的文件或目錄是由哪個軟件包所安裝的(——file)。
    例如: rpm -qa | wc -l // 可以統計出有多少個RPM軟件包。一行代表一個。
    rpm -qa | grep -i samba //查詢是否安裝了名爲“samba”的軟件包,查詢時不區分大小寫。
    rpm -q elinks lynx //查詢是否已經安裝elinks 和lynx的軟件包
    rpm -qi elinks //瞭解elinks軟件包的摘要信息
    rpm -ql wget //列出wget軟件包安裝的目錄和文件清單
    which vim //找出vim程序位置
    /usr/bin/vim //所在位置
    rpm -qf /usr/bin/vim //獲知vim編輯器程序是在安裝vim—enhanced軟件包時生成的。
    2) 查詢RPM包文件中的相關信息
    •qpi: 查看指定軟件包的名稱、版本、許可協議、用途描述等詳細信息。
    •qpl:查看該軟件包準備要安裝的所有目標目錄、文件列表。
    安裝、升級、卸載RPM軟件包
    •-i:在當前系統中安裝(install)一個新的RPM軟件包
    •-e:卸載指定名稱的軟件包
    •-U:檢查並升級系統中的某個軟件包,若該軟件包原來並未安裝,則等同於“-i”選項。
    •-F:檢查並更新系統中的某個軟件包,若該軟件包原來並未安裝,則放棄安裝。
    ——force:強制安裝某個軟件包,當需要替換現已安裝的軟件包及文件,或者安裝一個比當前使用的軟件版本更舊的軟件時,可以使用此選項。
    ——nodeps:在安裝或升級、卸載一個軟件包時,不檢查於其他軟件包的依賴關係。
    •-h:在安裝或升級軟件包的過程中,以“#”號顯示安裝進度。
    •-v:顯示軟件安裝過程中的詳細信息。
    1)安裝、升級軟件包 通常使用“-ivh”的組合選項瞭解安裝過程信息,及時跟蹤安裝進度。
    2)卸載軟件包 主要使用“-e”選項。
    維護RPM數據庫
    1)重建RPM數據庫 rpm --rebuilddb 或者 rpm --initdb
    2)導入驗證公鑰 rpm --import /media/cdrom/RPM-GPG-KEY-redhat-release //導入所在光盤目錄下
    從源代碼編譯安裝程序
    需要使用源代碼編譯的幾種情況
    •安裝較新版本的應用程序時 •當前安裝的程序無法滿足應用需求時 •爲應用程序添加新的功能時
    編譯源代碼gcc和make是最佳的C/C + +語言編譯器。
    編譯安裝的基本過程
    下載源代碼安裝包文件:步驟1 tar解包
    用途:將源代碼包解壓、解包。釋放到指定目錄,等待編譯
    步驟2 •/configure配置
    用途:設置安裝的目標文件夾,選擇要安裝的功能模塊等
    步驟3 make編譯
    用途:根據前一步配置,將源代碼變成可執行的二進制文件
    步驟4 make install 安裝
    用途:將編譯好的二進制文件複製到系統中,並設置應用環境
    例如:1解包 tar zxf httpd-2.2.15.tar.gz -C /usr/src/ //解壓到/usr/src/目錄下
    2 配置 cd /usr/src/httpd-2.2.15.tar.gz/ //進入到所解壓的目錄
    •/configure --prefix=/usr/local/apache //安裝到指定文件目錄中
    3 編譯及安裝 make && make install
    Vim /usr/local/apache/conf/httpd.conf //進入文本的第97行去掉#號,並啓動Apache
    /usr/local/apache/bin/apachectl start
    管理用戶賬號和組賬號
    用戶賬號: 超級用戶(root) 普通用戶 程序用戶
    組賬號: 基於某種特定聯繫將多個用戶集合在一起,即構成一個用戶組。每一個用戶賬號至少屬於一個組,這個組該用戶的基本組(或私有組);若該用戶同時還包括其他的組中,則這些組稱爲該用戶的附加組(或公共組)。
    UID和GID號
    UID(User Identity,用戶標識符),表示用戶是唯一。Root用戶賬號的UID號爲固定值0,而程序用戶賬號的UID號默認爲1~499,500~60000的UID號默認分配給普通用戶使用。
    GID(group Identity,組標識符)。表示組是唯一。Root組賬號的GID號爲固定值0,而程序組賬號的GID號默認爲1~499,500~60000的GID號默認分配給普通組使用。
    用戶賬號文件:
    與用戶賬號相關的配置文件主要有兩個,分別是/etc/passwd、/etc/shadow。前者用於保存用戶名稱、宿主目錄、登錄shell等基本信息,後者用於保存用戶的密碼、賬號有效期等信息。
    例如:1)passwd文件中的配置行格式(一行代表一個用戶)
    teacher:x:500:500:teacher:/home/teacher:/bin/bash 用了“:”分了七段各項含義
    •第1字段:用戶賬號的名稱,也是登錄系統時使用的識別名稱。
    •第2字段:經過加密的用戶密碼字串,或者密碼佔位符“x”。
    •第3字段:用戶賬號的UID號。
    •第4字段:所屬基本組賬號的GID號。
    •第5字段:用戶全名,可填寫與用戶相關的說明信息。
    •第6字段:宿主目錄,即該用戶登錄後所在的默認工作目錄。
    •第7字段:登錄shell等信息,用戶完成登錄後使用的shell。
    2)shadow(一行代表一個用戶)
    Shadow文件又被稱爲“影子文件”,其中保存有各用戶賬號的密碼信息,因此對shadow文件的訪問應該進行嚴格限制。默認只有root用戶能夠讀取文件中的內容,而不允許直接編輯該文件中的內容。
    Root:$1$55HB4hhghfj$695GFDJG753:14374:0:9999:7::: 用了“:”分了9段,各項含義
    •第1字段:用戶賬號名稱。
    •第2字段:使用MD5加密的密碼字串信息,當爲“*”或“!!”時表示此用戶不能登錄到系統。若該字段內容爲空,則該用戶無需密碼即可登錄系統。
    •第3字段:上次修改密碼的時間,表示從1970年01月01日算起到最近一次修改密碼時間隔的天數。
    •第4字段:密碼的最短有效天數,自本次修改密碼後,必須至少經過該天數才能再次修改密碼。默認值爲0,表示不進行限制。
    •第5字段:密碼的最長有效天數,自本次修改密碼後,經過該天數以後必須再次修改密碼。默認值爲99999,表示不進行限制。
    •第6字段:提前多少天警告用戶口令將過期,默認值爲7。
    •第7字段:在密碼過期之後多少天內禁用此用戶。
    •第8字段:賬號失效時間,此字段指定了用戶作廢的天數,默認值爲空,表示賬號永久可用。
    •第9字段:保留字段,目前沒有特定用途。
    添加、刪除、修改用戶賬號
    在RHEL6系統中,使用useradd命令添加用戶賬號主要完成的任務:
    •在/etc/passwd文件和/etc/shadow文件的末尾增加該用戶賬號的記錄。
    •若未明確指定用戶的宿主目錄,則在/home目錄下自動創建與該用戶賬號同名的宿主目錄,並在該目錄中建立用戶的各種初始配置文件。
    •若沒有明確指定用戶所屬的組,則自動創建與該用戶賬號同名的基本組賬號,組賬號的記錄信息將保存到/etc/group、/etc/gshadow文件中。
    1)useradd命令——添加用戶賬號: useradd [選項] 用戶名
    •-u:指定用戶的UID,要求該UID號碼未被其他用戶使用。
    •-d:指定用戶的宿主目錄位置(當與-M一起使用時,不生效)。
    •-e:指定用戶的賬戶失效時間,可使用YYYY-MM-DD的日期格式。
    •-g:指定用戶的基本組名(或使用GID號)。
    •-G:指定用戶的附加組名(或使用GID號)。
    •-M:不建立宿主目錄,即使/etc/login.defs系統配置中已設定要建立宿主目錄。
    •-s:指定用戶的登錄shell。
    例如:創建一個輔助管理員賬號admin,將其基本組指定爲“wheel”,附加組指定爲“root”,宿主目錄指定爲“/admin”。 Useradd -d /admin -g wheel -G root admin
    創建一個名爲b_down的FTP賬號(禁止終端登錄),該賬號將於2020-12-31失效。
    Useradd -e 2020-12-31 -s /sbin/nologin b_down
    2)passwd命令——爲用戶賬號設置密碼: passwd [選項] 用戶名
    •-d:清空指定用戶的密碼,僅使用用戶名即可登錄系統。
    •-l:鎖定用戶賬戶。
    •-S:查看用戶賬戶的狀態(是否被鎖定)。
    •-u:解鎖用戶賬戶。
    3) usermod命令——修改用戶賬號屬性
    •-u:修改用戶的UID號。
    •-d:修改用戶的宿主目錄位置。
    •-e:修改用戶的賬戶失效時間,可使用YYYY-MM-DD的日期格式。
    •-g:修改用戶的基本組名(或使用GID號)。
    •-G:修改用戶的附加組名(或使用GID號)。
    •-s:指定用戶的登錄shell。
    •-l:更改用戶賬號的登錄名稱(Login Name).
    •-L:鎖定用戶賬戶。
    •-U:解鎖用戶賬戶。
    例如:將admin用戶的宿主目錄由/admin轉移至/home/admin。
    mv /admin /home/ //先轉換目錄
    usermod -d /home/admin admin //在指定目錄位置,後面填入賬戶名
    4) userdel命令——刪除用戶賬號
    •-r:可同時刪除宿主目錄。
    用戶賬號的初始配置文件:
    添加一個新的用戶賬號後,useradd命令會在該用戶的宿主目錄中建立一些初始配置文件,這些文件來自於賬號模板目錄“/etc/skel”,基本上都是隱藏文件,較常用的初始配置文件包括”.bash_logout”、”.bash_profile”、”.bashrc”。其中,”.bashrc_profile”文件中的目錄將在該用戶每次登錄時被執行;”.bashrc”文件中的命令會在每次加載”/bin/Bash”程序時(當然也包括登錄系統)執行;而”.bash_logout”文件中的命令將在用戶每次退出登錄時執行。
    組賬號管理
  6. 組賬號文件:與組賬號相關的配置文件也有兩個,分別是/etc/group、/etc/gshadow。前者用於保存組賬號名稱、GID號、組成員等基本信息,後者用於保存組賬號的加密密碼字串等信息。
    例如:獲知root組包括哪些用戶成員、哪些組中包含root用戶。
    grep “^root” /etc/group //檢索root組包括哪些用戶
    grep “root” /etc/group //檢索哪些組包括root用戶
  7. 添加、刪除、修改組賬號
    1) groupadd命令——添加組賬號
    2) gpasswd命令——添加、設置、刪除組成員(還可設置組密碼)
    需要添加、刪除成員用戶時,可分別使用“-a”、“-d”選項。
    例如:向root組中添加成員用戶mike、刪除成員用戶webmaster。
    gpasswd -a mike root gpasswd -d webmaster root
    groups mike //確認Mike加入組中 groups webmaster //確認webmaster用戶已退出
    如果需要同時指定組賬號的所有成員用戶,可以使用“-M”選項。
    例如:指定組賬號adm中root、adm、daemon、webmaster、Mike這五個成員用戶。
    gpasswd -M root,adm,daemon,webmaster,mike adm //將這五個用戶加入adm組中。
    grep “^adm” /etc/group //查看是否加入成功
    3)groupdel——刪除組賬號 格式:groupdel 組名
    查詢賬號信息
  8. groups命令——查詢用戶賬號所屬的組
  9. id——查詢用戶賬號的身份標識
  10. finger命令——查詢用戶賬號的登錄屬性
  11. w、users、who——查詢當前主機的用戶登錄情況
    管理目錄和文件的屬性
    在Linux文件系統的安全模型中,爲系統中的文件(或目錄)賦予了兩個屬性:訪問權限和文件所有者,簡稱爲“權限”和“歸屬”。其中,訪問權限包括讀取、寫入、可執行三種基本類型,歸屬包括屬主(擁有該文件的用戶賬號)、屬組(擁有該文件的組賬號)。Linux系統根據文件或目錄的訪問權限、歸屬來對用戶訪問數據的過程進行控制。
    查看目錄和文件的屬性
    例如:[root@localhost ~]# ls -ld /etc /etc/passwd //列出/etc/目錄和/etc/passwd文件的詳細屬性
    drwxr-xr-x. 119 root root 12288 5月 9 17:33 /etc
    -rw-r—r--. 1 root root 1678 5月 9 17:33 /etc/passwd
    在上述輸出信息中,第3、4個字段的數據分別表示該文件(或目錄)的屬主、屬組,上列中“/etc”目錄和“/etc/passwd”文件都屬於root用戶,root組;而第1個字段的數據表示該文件(或目錄)的訪問權限,如“drwxr-xr-x”和“-rw-r—r--”。
    權限字段由四部分組成,各自的含義如下所述。
    •第1 個字符:表示該文件的類型,可以是d(目錄)、b(塊設備文件)、c(字符設備文件)、“—”(普通文件)、字母“l”(鏈接文件)等。
    •第2 ~4個字符:表示該文件的屬主用戶(user)對該文件的訪問權限。
    •第5~7個字符:表示該文件的屬組內各成員用戶(group)對該文件的訪問權限。
    •第8~10個字符:表示其他任何用戶(other)對該文件的訪問權限。
    •第 11 個字符:這裏的“.”與SELinux有關,目前不必關注。
    在表示屬主、屬組內用戶或其他用戶對該文件的訪問權限時,主要使用了三種不同的權限字符:r、w、x,分別表示可讀、可寫、可執行。若需要去除對應的權限,則使用“—”表示。例如,root用戶對“/etc”目錄具有可讀、可寫、可執行的完全權限(r w x),其他任何用戶對“/etc”目 錄 只具有可讀可執行的權限(r – x);root用戶對“/etc/passwd”文件具有可讀、可寫權限(r w -),root組內的各用戶對“/etc/passwd”文件只具有可讀權限(r--)。

    權限  文件  目錄

    (4)r 查看文件內容 查看目錄內容(顯示子目錄、文件列表)
    (2)w 修改文件內容 修改目錄內容(在目錄中新建、移動、刪除文件或子目錄)
    (1)x 執行該文件(程序或腳本) 執行c d命令進入或退出該目錄
    設置目錄和文件的權限

使用chmod命令設置文件或目錄的權限時,基本的命令格式:
Chmod [agoa…] [+-=] [rwx] 文件或目…..
或者
Chmod nnn 文件或目錄……
需要將某一個目錄中的所有子目錄及文件的權限都設置爲相同的值,chmod結合“-R”選項即可輕鬆實現。例如:chmod -R 644 /var/ftp/pub
上述格式中,字符組合“[ugoa…][+-=][rwx]”或數字組合“nnn”的形式表示要設置的權限模式。其中,“nnn”爲需要設置的具體權限值,如“755”“644”等;而“[ugoa…][+-=][rwx]”的形式中,三個組成部分的含義及用法如下所述。
•“ugoa”表示該權限設置所針對的用戶類別。“u”代表文件屬主,“g”代表文件屬組內的用戶,“o”代表其他任何用戶,“a”代表所有用戶(u、g、o的總和)。
•“+-=”表示設置權限的操作動作。“+”代表增加相應權限,“—”代表減少相應權限,“=”代表僅設置對應的權限。
•“r w x”是權限的字符組合形式,也可以拆分使用,如“r”、“r x”等。
設置目錄和文件的歸屬
需要設置文件或者目錄的歸屬時,主要通過chown命令進行。可以只設置屬主或屬組,也可以同時設置屬主、屬組。使用chown命令的基本格式。
Chown 屬主[:[屬組] ] 文件或目錄…..
同時設置屬主、屬組時,用戶名和組名之間用冒號“:”進行分隔。如果只設置屬組時,需使用“:組名”的形式。如果只需要設置目錄或文件的屬主,直接以用戶名錶示歸屬即可,遞歸修改目錄歸屬同於可以使用“-R”選項。
例如:將/var/ftp/pub/目錄的屬主由root改爲ftp(調整後用戶ftp將擁有“r w x”的權限)。
Chown -R ftp /var/ftp/pub
將mymkdir文件的屬主更改爲daemon、屬組更改爲wheel.
Chown daemon:wheel /opt/wwwroot/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章