1. 程式人生 > >(四)Linux學習之——賬號管理

(四)Linux學習之——賬號管理

  1. 每個登入的使用者都至少會取得兩個ID,一個是使用者ID(UID),一個是使用者組ID(GID)
  2. /etc/passwd的檔案結構:每一行都代表一個行號,有幾行就代表有幾個賬號在你的系統中
  3. UID的範圍,0是系統管理員,所以除了root,也可以有其他名稱的系統管理員
  4. 1~499是系統賬號,500~65535是可登陸賬號
  5. /etc/group這個檔案記錄GID與組名的對應
  6. /etc/passwd第四列寫的GID是所謂的每個使用者的“初始使用者組”,當用戶登陸系統時,立刻擁有這個使用者組的相關許可權
  7. 要知道自己所支援的使用者組,直接shell下輸入groups即可,注意有s,第一個顯示出來的就是有效使用者組
  8. 使用newgrp進行有效使用者組的切換
  9. 加入一個使用者組有兩種方式,一個是通過系統管理員root利用usermod幫你加入,也可以通過使用者組管理員用gpasswd幫你加入
  10. /etc/gshadow檔案中,第二列是密碼列,如果密碼列上面是!時,表示該使用者不具有使用者組管理員
  11. useradd可以用來新增使用者,並且預設建立使用者主資料夾,且許可權為700
  12. 使用useradd建立使用者賬號以後,會更改以下三種資料夾:使用者賬號與密碼引數有關的檔案、使用者組相關方面的檔案、使用者的主資料夾
  13. 使用者組的角度有兩種不同的機制,分別是私有使用者組機制(僅自己可以進入自己的主資料夾)和公共使用者組機制(使用者組的其他人可以互相分享主資料夾內的資料)
  14. userdel用於刪除賬號,如果該賬號所屬的初始使用者組已經沒人隸屬於該使用者組了,那麼就刪除掉該使用者組
  15. 要幫一般賬號新建密碼需要使用“passwd 賬號”的格式,使用“passwd”表示修改自己的密碼
  16. 除了使用passwd -S之外,chage命令也可以用來更詳細的顯示密碼引數,比如最近一次更改密碼的日期、賬號失效日、密碼失效日期等
  17. usermod與useradd類似,也是用來微調useradd增加的使用者引數
  18. 不論是useradd、usermod還是userdel,都是系統管理員所能夠使用的命令,一般身份使用者可以使用finger命令來查閱很多使用者相關的資訊
  19. chfn為change finger的意思,可以修改使用者的finger資料
  20. chsh為change shell的簡寫,可以列出目前系統上面可用的shell,或者設定修改自己的shell
  21. id這個命令可以查詢某人或者自己的相關的UID/GID等的資訊
  22. groupadd、groupmod、groupdel與user的功能類似
  23. 新建或刪除一個使用者組管理員,需要使用gpasswd命令
  24. ACL是Access Control List的縮寫,主要目的是提供傳統的owner、group、others的read、write、execute許可權之外的具體許可權設定
  25. getfacl可以取得某個檔案/目錄的ACL設定專案,setfacl可以設定某個目錄/檔案的ACL規定
  26. getfacl會顯示出一個mask的條目,它表示使用者或組所設定的許可權必須要存在於mask的許可權設定範圍內才會生效,即是有效許可權
  27. su -可以直接將身份變為root,但是這個命令需要root密碼
  28. 單純使用su切換root的身份,讀取的變數設定方式為non-login shell的方式,這種方式下很多原本的變數不會被改變
  29. 不是所有人都能夠執行sudo,僅有/etc/sudoers內的使用者才能夠執行sudo這個命令
  30. /etc/sudoers是有語法的,如果設定錯誤會造成無法使用sudo命令的不良後果,因此我們要使用visudo去修改,並在結束離開修改介面時,系統回去檢驗/etc/sudoers的語法
  31. 可以通過別名設定visudo,可以新建一個賬戶別名為ADMPW的名稱,然後將這個名稱處理一下即可,比如User_Alias ADMPW = pro1, pro2, pro3
  32. PAM是一套驗證的機制,又可以呼叫給其他程式所使用,因此不論你使用什麼程式,都可以使用PAM來進行驗證,比如瞭解密碼強度,就可以使用這個pam_cracklib.so模組來驗證,並根據驗證的回報結果來編寫程式
  33. 查詢目前已登入在系統上面的使用者,使用w或who來查詢,如果想知道每個賬號的最近登入的時間,使用lastlog命令查詢
  34. 要跟系統上面的使用者交談,可以使用write命令,write 使用者賬號 [使用者所在終端介面],如果另一個人不想接收任何資訊,直接執行這個動作mesg n即可。如果想對系統上所有的使用者傳送資訊(廣播),可以直接用wall
  35. 若使用電子郵箱來聯絡,直接使用mail命令,mail vbird1 -s “nice to meet you”
  36. 若要收信,也是直接使用mail即可
  37. pwck可以用來檢查/etc/passwd這個賬號配置檔案內的資訊,可以用來檢查我的輸入是否正確;pwconv這個命令可以將/etc/passwd內的賬號和密碼移動到/etc/shadow中
  38. Linux作業系統上面,關於賬號與使用者組,其實記錄的是UID/GID的數字而已