GRUB與用戶管理
Init進程是由linux內核引導運行的,pid=1
#runlevel:顯示運行級別
初始化腳本
#chkconfig?--list?network
#chkconfig?--level?0123456?network?on
Linux的服務程序有兩種:獨立運行的服務程序和由xinetd管理的服務程序。
獨立運行的服務程序的啟動腳本都在/etc/rc.d/init.d/這個目錄里
由xinetd管理的服務程序位于/etc/xinetd.d這個目錄里
GRUB(Grand?Unified?Boot?Loader)啟動引導器
Linux的啟動順序:
1.載入bios的硬件信息
2.對MBR的Kernel?Loader進行讀取
3.由GRUB引導的Kernel就開始執行init進程并讀取run-level的相關信息
4.?init進程開始執行/etc/rc.d/rc.sysinit文檔的內容
5.系統啟動Kernel的外掛式模組(/etc/modules.conf)
6.?init執行/etc/rc.d/rc.local的內容
7.就是我們最熟悉的/bin/login程序
8.登錄之后開始的Shell
裝載GRUB和操作系統的過程
1、裝載基本的引導裝載程序?
基本引導裝載程序所做的唯一的事情就是裝載第二引導裝載程序
2、裝載第二引導裝載程序。
第二引導裝載程序用以允許用戶裝載入一個特定的操作系統。在GRUB中,這步是讓用戶顯示一個菜單或是輸入命令
3、裝載在一個特定分區上的操作系統,如linux內核。
一旦GRUB從它的命令行或是配置文件中接到開始操作系統的正確指令,它就尋找必要的引導文件,然后把機器的控制權移交給操作系統
GRUB的功能:
?1.GRUB提供了真正的命令行交互界面,更靈活的使用各種參數引導操作系統
?2.GRUB支持LBA(Logical?Block?Addressing邏輯塊尋址)模式。能夠從1024柱面以后的分區啟動操作系統。
?3.能直接訪問ext2分區,每次系統啟動時GRUB訪問/boot/grub/grub.conf文件,只有當/boot分區的物理位置發生變化時才需要重新安裝GRUB到MBR
安裝GRUB到MBR
1.建立GRUB的配置文件:/boot/grub/grub.conf并按照主機硬盤中已經安裝的操作系統進行配置。
2.使用安裝命令:?#grub-install?/dev/hda
GRUB的接口
菜單接口:在菜單接口上,按[e]鍵,對高亮菜單項中的命令進行編
輯。按[c]鍵載入一個命令行接口。
菜單項目編輯器接口
在所有的改變都完成后,用[b]鍵來執行這些命令,并引導操作系統。[Esc]鍵來放棄這些修改,將重新入標準的菜單接口
命令行接口
命令行是GRUB最基本的接口,但它也是被授予了最大控制能力的接口。在命令行接口中,輸入任何相關的GRUB命令,再回車就可以執行了。這個接口的功能有點類似于shell的功能,比如[Tab]鍵完成,前后文提示,輸入命令時的[Ctrl]鍵組合,如Ctrl]-[a]移到行的開頭,[Ctrl]-[e]移到行的結尾。另外,箭頭鍵,[Home],[End],[Delete]鍵與bash?shell中一樣用法
default=0?#指定默認操作系統
timeout=10#設定默認等待時間
splashimage=(hd0,5)/boot/grub/splash.xpm.gz?#指grub界面的背景圖片
#?section?to?load?linux
title?linux
root?(hd0,1)
kernel?/vmlinuz-2.4.20-8?ro?root=LABLE=/
#就是要載入的內核
initrd?/boot/initrd-2.4.20-8.img#用來初始的linux?image,并設置相應的參數
#?section?to?load?Windows?2000
title?windows
rootnoverify?(hd0,0)
chainloader?+1
#"鏈式裝入器"(chainloader),鏈式裝入器從分區?(hd0,0)?的引導記錄中裝入?win2k?自己的引導裝入器.它創建了一個從引導裝入器到另一個的鏈。
1.grub沒有顯示菜單怎么辦?當開機后進入grub界面但沒了菜單,只剩下一個grub>提示符
grub>cat?(hd0,6)/boot/grub/grub.conf?(為了看參數)
grub>root?(hd0,6)
grub>kernel?(hd0,6)/vmlinuz-2.4.18-14?ro
root=LABEL=/
grub>initrd?(hd0,6)/initrd-2.4.18-14.img
grub>boot
2.進入單用戶模式.
有時不小心把root用戶密碼忘了,只能進入單用戶模式來重新設置root密碼.方法如下:
開機進入grub界面,按e進入編輯行模式.
選中?kernel/boot/vmlinuz-2.4.20-8?ro?root=LABLE=/項,再次按e鍵,在新的界面的最后一行輸入single或1,即:kernel/boot/vmlinuz-2.4.20-8?ro?root=LABLE=/single(1)
GRUB丟失,怎樣用安裝盤修復
1.把安裝盤的第一張放到光驅,然后重新啟動機器,在BOIS中把系統用光驅來引導。
2.等安裝界面出來后,按[F5]鍵,也就是linux?rescue模式
然后在boot下輸入linux?rescue
然后就是回車一下。
sh#
操作GRUB
sh#grub
會出現這樣的字符
grub>
輸入
grub>root?(hdX,Y)
grub>setup?(hd0)
如果成功會有一個successful......這里的X,如果是一個盤,就是0,如果你所安裝的linux的根分區在第二個硬盤上,那X就是1了;Y,就是裝有linux系統所在的根分區。?setup(hd0)就是把GRUB寫到硬盤的MBR上。
忘記管理員密碼
Ch#chroot?/mnt/sysimage
Vim?boot/grub/grub.conf
Vim?etc/shadow去掉root密碼
Grub配置文件丟失
Grub?>?root(hd0,0)
手動分區
Grub?>?kernel?/vmlinuz-2.6.18-194.e15?ro?root?=?/LABLE
Grub?>?initrd?/initrd-2.6.18-194.e15.Img
Grub?>?boot
自動分區
Grub?>?kernel?/vmlinuz-2.6.18-194.e15?ro?root?=?/dev/VolGroup00/LogVol00
Grub?>?initrd?/initrd-2.6.18-194.e15.Img
Grub?>?boot
GRUB的安全設置:
命令格式:
password?口令字?password?mypassword
password?12345
使用MD5加密口令:
1.獲得密文口令:用GRUB自帶的口令
grub-md5-crypt
2.保存加密口令到配置文件
命令格式:password?–md5?已生成的MD5加密口令
3.也可以使用GRUB的交互命令md5crypt生成MD5加密口令
grub>md5crypt
Password:*****
把生成的密文寫到/boot/grub/grub.conf文件中。
用戶管理
超級用戶:root?UID=0
普通用戶
系統賬號
這種類型的賬號僅提供給?Linux?系統本身使用。在某些軟件執行的時候,需要你提供一個普通用戶類型的賬號。為了滿足這些軟件而建立的賬號,我們稱為系統賬號?(System?Account)。
在?Red?Hat?Enterprise?Linux?系統中,系統用戶的?UID?被局限在?1?到499?之間
真實用戶
系統用戶賬號是給軟件或程序使用的
真實用戶賬號在?Linux?系統中,被分配的?UID?范圍為?500?至4,294,967,295?之間。
群組賬號
超級用戶群組:超級用戶群組的GID為?0。隸屬于超級用戶群組的成員,不具備系統管理的權力。
系統群組:1到499,系統本身或者軟件使用
用戶自定義群組:用戶私有群組UPG,至于用戶賬號名稱相同,且為用戶群組。
用戶賬號存儲于/etc/passwd文件中
USERNAME:PASSWORD:UID:GID:COMMENT:HOMEDIR:SHELL
本機群組賬號存儲在/etc/group中
GROUPNAME:PASSWORD:GID:MEMBERS
用?id?命令查詢用戶賬號是否存在
直接使用?echo?命令將符合?/etc/passwd?格式的vfast?賬號數據附加在/etc/passwd?文件后
/etc/skel/?就是用戶主目錄的模板,可直接復制為用戶主目錄。
添加用戶帳號?useradd
修改用戶帳號?usermod
刪除用戶帳號?userdel
useradd?[-u?UID?[-o]]?[-g?GROUP]?[-G?GROUPS...?]?[-d?HOME][-s?SHELL]?[-c?COMMENT]?[-p?PASSWORD]?[-n][-r]?[[-m]?|?[-M]]?USERNAME
當使用?useradd?建立用戶時,如果沒有指定參數,useradd?就會根據/etc/login.defs?與/etc/default/useradd中的定義
usermod?[-u?UID]?[-g?GROUP]?[-G?GROUPS...?]?[-d?HOME]?[-s?SHELL]?[-c?COMMENT]?[-l?NEWNAME]?[[-L]?|?[-U]]?USERNAME...
usermod?與?useradd?使用的參數很多是相同的,usermod?另外還提供下列幾個參數:
-l?NEWNAME?修改賬號的用戶名
-L?鎖定賬號
-U?解除鎖定
userdel?[-r]?USERNAME
userdel?命令只有一個?-r?的參數(默認是停用的)刪除主目錄和郵箱。
添加群組帳號?groupadd
修改群組賬號?groupmod
刪除群組帳號?groupdel
groupadd?[-g?GID]?[-r]?[-f]?GROUPNAME
-g?GID?指定群組標識符?
-r?指定添加的群組成為系統群
-f?強制執行
groupmod?[-g?GID]?[-n?NEWNAME]GROUPNAME
-g?GID?修改群組標識符
-n?NEWNAME?用來修改群組的名稱。
groupdel?GROUPNAME
密碼設置
Linux?通過加密算法產生密碼數據
DES:只能支持八個字符內的密碼數據
MD5:其支持?255?個字符的密碼
Linux?內建的?md5sum?是MD5?哈希算法的工具
passwd?[-d]?[-k]?[-l]?[-S]?[--?stdin]?USERNAME
-d,?--delete?刪除用戶密碼
-l,?--lock?root使用,鎖定用戶
-S,?--status?用來顯示密碼的狀況
--stdin?由標準輸入讀入密碼的本文,再由?passwd命令加密成為密文類型
gpasswd?[-r]?[-R]?GROUP
其中的?GROUP?就是群組名稱,-r?用來刪除群組的,;-R?則鎖定?GROUP?的群組密碼。
Shadow
把密碼隱藏到不同的文件
/etc/shadow
USERNAME:PASSWORD:LAST_CHANGED:MIN_DAYS:MAX_DAYS:WARNNING:EXPIRES:DISABLED
/etc/gshadow
GROUPNAME:PASSWORD:ADMINISTRATORS:MEMBERS
權限為0400,所有者為root
功能:密碼有效期限;群組管理員
啟用停用shadow
Pwconv/pwunconv、grpconv/grpunconv
Authconfig
啟用:在?Shell?中執行?authconfig?--enableshadow。
停用:在?Shell?中執行?authconfig?--disableshadow
chage?-l?USER???查看賬號與密碼有效期限
chage?[-m?MINDAYS]?設置密碼修改的最小天數
[-M?MAXDAYS]兩次修改密碼相距的最大天數?
[-d?LASTDAY]?指定密碼最后修改的日期
[-IINACTIVE]設置密碼過期后,鎖定賬號的天數
[-E?EXPIREDATE]?設置賬25143?.的過期日期
[-W?WARNDAYS]設置密碼過期前,開始警告的天數?USERS
gpasswd?-A?USER…GROUP?使用gpasswd?命令來指派某一個群組的群組管理員
加入刪除組成員
gpasswd?-a?USER?GROUP
gpasswd?-d?USER?GROUP
設置文件不可改變位
Chattr?+i?abc
Lsattr?abc
Chattr?-i?abc
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的GRUB与用户管理的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。