您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關linux系統下如何實現用戶管理,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
系統的資源是有限的,如何合理分配系統資源?
1.身份 account
2.授權 author
3.認證 auth
以上3個 'a' 稱為3A機制,3A機制組成系統中最底層的安全架構。
用戶組是一個邏輯容器,對用戶進行歸類和統一授權。
簡單說用戶組就像是我們在學校的時候的班級或者社團組織一樣,你在的班級被賦予了什么權利,你在社團中的部門有什么權力,那你就有什么權利。這樣做方便了權力的統一下放。
因為計算機對數字敏感,而我們人對名稱比較敏感,利用這個特性我們在計算機內部可以用數字和字符串相關聯的形式存儲用戶。
我們知道,在Linux中一切都是文件,所以用戶也不例外,我們所說的用戶和用戶組其實也就是文件中的一條字符串。
用戶是在/etc/passwd文件中的一行字符 用戶組是在/etc/group文件中的一行字符 vim /etc/passwd 用此命令可以查看passwd文件內容,進而得知用戶信息 vim /etc/group 用此命令可以查看group文件內容,進而得知用戶組信息
但是在文件中查看用戶或用戶組的id信息終究有些麻煩,Linux給我們提供了這樣的命令方便我們查看用戶的相關信息:
whoami 查看當前用戶名稱 id [參數][用戶名] 查看用戶的id信息,用戶名缺省則查看當前用戶 -u查看用戶的用戶id -g查看用戶的主組id -G查看用戶所有組id -n顯示名稱,不能單獨使用,需要和上面的命令連用來顯示信息 用戶id范圍: 0:超級用戶id 1-999:Linux系統自用id 1000-65535:用戶級id 以上id信息都被記錄在/etc/login.defs
/etc/passwd 用戶身份信息文件
passwd中的字符串意義 用戶名稱:用戶密碼:用戶id:用戶主組id:用戶說明:用戶家目錄:用戶默認shell
/etc/group 組身份信息文件
組名稱:組密碼:組id:組的附加成員
/etc/skel/.* 用戶環境配置文件模板
/home/username 用戶家目錄
/var/spool/mail/username 用戶郵箱文件
我們可以用watch命令來監控用戶的創建和刪除
watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo =======;ls -l /home"
用戶建立命令useradd:
useradd username ##用戶建立 -u id username ##指定用戶uid -g id username ##指定主組id -G id username ##指定附加組id -d dir username ##指定用戶的家目錄 -M username ##創建用戶時不自動創建家目錄 -c word username ##創建用戶時指定用戶說明 -s shell username ##指定shell userdel username ##用戶刪除 -r username ##刪除用戶同時刪除家目錄和系統配置文件 groupadd groupname ##組建立 -g id groupname ##指定組id groupdel groupname ##組刪除
有時候我們在服務器的使用過程中需要更改用戶的相關屬性,雖然我們知道在/etc/passwd文件中用戶是以字符串的形式存儲,并且知道字符串的意義:
用戶名稱:用戶密碼:用戶id:用戶主組id:用戶說明:用戶家目錄:用戶默認shell
那么理所當然我們就可以用root用戶修改這些字段達到更改用戶信息的目的,但是在實際應用中我們并不會這么做,而是使用一些相關命令:
usermod [選項] [參數] [username] [選項] -l #修改用戶名稱 -u #修改用戶的uid -g #修改用戶主組id -G #修改用戶附加組身份 -aG #添加用戶附加組身份 -c #更改用戶說明文字 -d #更改用戶家目錄指向 -md #同時更改家目錄指向和家目錄名稱 -s #更改默認shell -L #凍結賬號 -U #解鎖賬號
我們的密碼信息存儲在shadow文件中,shadow內容:
用戶名:加密密碼:最后一次修改時間:最小修改時間間隔:密碼有效期:密碼需要變更前的警告天數:密碼過期后的寬限時間:賬號失效時間:保留字段
我們可以用passwd命令來修改密碼相關屬性信息
passwd [選項] [參數] [username] 如果選項和參數缺省則修改'username'的密碼 [選項] -S #查看密碼狀態 -l #凍結賬號認證 -u #解鎖賬號認證 -d #刪除用戶密碼 -e #修改默認使用時間為0 -n #設置最短使用時間 -x #設置密碼過期時間 -w #設置過期警告時間 -l #設置非活躍天數 change -d 0 [username] #必須修改密碼才能登陸 change -E "xxxx-xx-xx" [username] #設置凍結日期
我們在實際中使用服務器,經常使用到權力下放,這可以讓我們以更高的權限執行一些命令,例如我們可以用權力下放使普通用戶以root身份運行一些命令,這樣我們不用登錄root賬號,在保證了系統安全的同時也達到了我們的目的。
授權方法:
我們可以用visudo命令來修改/etc/sudoers文件(當然我們也可以用vi或者vim修改,但是vi和vim不提供語法檢測,當我們錯誤修改文件之后不方便錯誤查找)
為了方便,我們約定俗成的在文件的100行左右添加權力下放:
username hostname=(newusername) [NOPASSWD:] /command, /command1
1)權限查看
ls -l file #查看文件權限 ls -ld dir #查看目錄權限
文件權限的信息分為三大類ugo
u代表user也就是文件的所有者 g代表group也就是文件的擁有組 o代表other也就是其他人,和文件的歸屬沒有關系的人 每個大類型中擁有權力的標志位,也就是rwx r代表read也就是讀權限 w代表write也就是寫權限 x代表執行權限
我們可以用chmod命令來修改文件相關權限信息
chmod [ugo][+-=][rwx] [filename/dirname] #通過表達式來賦予權限 chmod [xxx] [filename/dirname] #通過數字來賦予權限 通過對布爾量的理解我們可以對rwx三位進行二進制轉8進制的轉換 分別 r-4 w-2 x-1
S權限
可以用字符串表達式的方式設置S權限,S權限的作用:
當對文件的u位設置s權限的時候,表示文件執行者在執行時會獲得文件的所有者身份,它只能用在二進制文件上 當對文件的g位設置s權限的時候,表示文件的執行者會獲得文件所屬組身份,如果用在目錄上那么在目錄下創建的文件的所屬組將會變成此目錄 Sticky Bit的作用只對目錄生效,效果是在當前目錄下只有文件的所有者可以刪除自己的文件
關于“linux系統下如何實現用戶管理”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。