1. 使用者帳號最重要的兩個檔案就是”/etc/passwd”與”/etc/shadow”,可以用man 5 passwd查看。
/etc/passwd中”:”分隔開7部分內容,分別是:帳號名稱,密碼(顯示為x表示密碼已經移到shadow這個加密後的檔案中去了),UID,GID,使用者資訊說明欄,家目錄,登陸Shell(比如,如果想讓使用者登陸後直接進入vi,把這個shell直接改為/usr/bin/vi就好了)。
/etc/shadow中”:”分隔開9個欄位,分別是:帳號名稱,密碼(如果此欄第一個字元為*或!,表示這個帳號並不會用來登入),最近更改密碼的日期,密碼不可更改的天數,密碼需要重新更改的天數,密碼更改期限前的警告期限,密碼到期的寬限時間,帳號失效日期,保留。
2. 如果忘記root密碼怎麼辦?
以各種可行的方法啟動進入Linux,如單使用者維護模式,或者是以Live CD進入Linux系統,之後,順利掛載硬碟,然後進入/etc/shadow檔案中,將root密碼這一欄全部清空。然後登陸Linux,這時root不要求輸入密碼就可以登陸了。最後用passwd設定root密碼。
3. 有效使用者組與初始使用者組,查看所屬的使用者組groups,切換使用者組newgrp。
4. Linux帳號管理
新增使用者useradd,預設值參考/etc/default/useradd,使用者家目錄參考/etc/skel/*,與密碼及UID/GID有關的設定參考/etc/login.defs中。
設定使用者資料usermod,刪除使用者userdel。
如果想要完整地將某個帳號刪除,最好在執行userdel–r username之前,先以”find / -user username”查出整個系統內屬於username的檔案,然後再刪除。
5. 切換使用者身份
su - 使用root的環境設定參數檔案
-l username 使用username的環境設定參數檔案
sudo 這是讓使用者“輸入使用者自己的密碼“,參考/etc/sudoers。建議一定要用visudo去編輯/etc/sudoers檔案,因為visudo會去檢查/etc/sudoers內部的文法。若要使用sudo時不輸入密碼,則可以修改為”username ALL = (ALL) NOPASSWD: ALL”。
6. 當/etc/nologin檔案存在時,任何一個一般身份賬戶在嘗試登陸時,僅會獲得/etc/nologin內容的資訊,而無法登陸主機。
7. 查詢使用者:w、who、last、lastlog
使用者對話:talk、mesg、wall
8. 例行性命令
at 僅進行一次的工作任務分配
atq和atrm查看和刪除需要at執行的任務
cron 迴圈執行的例行性命令
cron執行的每一項工作都記錄到/var/log/cron這個登入檔案中。
crontab -e(編輯) -l(查看) -r(刪除,注意這會刪除全部的工作,刪除一項工作的時候使用cron -e)
對於想要每天、每小時執行的命令,可以查看/etc/crontab。
9. 作業管理:
& 將命令放到後台執行
[Ctrl]-z 將“當前”作業放到後台“暫停”
jobs 觀察當前後台作業狀態
fg 將後台作業拿到前台處理
bg 讓作業在後台運行
kill 管理後台作業
10. dmesg 查看開始過程中的訊息
11. 進程的執行順序
PRI(new) = PRI(old) + nice,PRI越小,表示該進程“優先順序越高”,PRI是由系統動態產生的,不是一直固定的值。一般使用者的nice值為0~19,root可用的nice值為-20~19。
開始執行進程就立即提供一個特定的nice值,用nice命令,如nice -n-5 vi。
調整某個已經存在的PID的nice值,用renice命令,top同樣也可以調整nice值。
注意,整個nice值是可以在父進程-子進程之間傳遞的。
12. /proc檔案系統
對於/proc檔案系統的詳細說明,可以man5 proc查看。
其中/proc/cmdline,載入kernel執行的相關參數,查看此檔案,可以瞭解系統是如何啟動的。
13. fuser 由檔案或裝置去找出使用該檔案或裝置的進程
lsof 查詢某個進程開啟或使用的檔案與裝置
pidof 查詢某一進程對應的PID