linux使用者帳號添加、修改、刪除等管理詳解
Linux, 這個詞我敢說100%的coder都聽說過, 如果答案是否定的.那說明這篇文章并不適合您!
其實Linux一直是眾多coder的弱項, 包括筆者也是個菜鳥級, 所以最近嘗試著從基礎學起, 寫了幾年的代碼終于明白了萬丈高樓平地起的道理. 基礎不好是很難進步的.
今天我們來了解一下Linux的使用者帳號相關知識, 那就不得不說/etc/passwd, /etc/chadow文件了.
/etc/passwd (帳號重要參數(shù)文件), 來cat /etc/passwd看一下.
乍看一下覺得這東西很深奧, 于是就放棄了. 那你就完蛋了. 這不是一個好習慣 , 其實很多事情只是看似很難, 如果你靜下心來去了解它, 你會發(fā)現(xiàn)他真的能走進你的心扉! 呵呵.
你有沒有發(fā)現(xiàn)它是有規(guī)律的, 有很多行, 并且每行的用:分隔成了幾字段, 那到底是幾個字段呢, 是7個.
其實這個文件的每一行都代表一個帳號(用戶), 有多少行就說明系統(tǒng)中有多少個用戶, 不由得產生了一個問題, 那7個字段又都是什么意思呢? 接下來我們來解釋一下這7個字段
第一字段 帳戶名稱. 如root(超級管理員)
第二字段 X (先以為他是就X好吧)
第三字段 UID(用戶的ID, 這東西對于系統(tǒng)來說非常重要, 有人問了不是有用戶名嗎為什么還有個狗P"UID", 其實對于系統(tǒng)來說他只認識這個UID, 用戶名只是提供給我們看的, 方便好記, 僅此而已)
第四字段 GID(群組的ID, 這東西對于系統(tǒng)來說非常重要, 有人問了不是有群組名嗎為什么....此處省略十幾字, 意思同上, 其實也沒省下.呵呵)
第五字段 用戶備注信息說明列 (就是帳號的備注信息,比如這個帳號干什么用的.為什么建這帳號什么地)
第六字段 用戶的HOME目錄; 如:/home/www
第七字段 Shell (用戶登錄后取得的shell環(huán)境, 一般默認為/bin/bash, 注意:如果你想建立一個帳號但卻又不想讓他登錄到系統(tǒng),那這里就起到作用了. 你只需把這欄設置成/sbin/nologin, 細心的朋友可能注意到了/etc/passwd 文件下很多的系統(tǒng)用戶這欄都是/sbin/nologin)
/etc/shadow
為什么要說到這個文件呢, 這就需要從我們使用帳號登錄系統(tǒng)說起了, 其實我們的登錄流程是這樣的:
以下我們以用戶echo來舉例.
1.根據(jù)輸入的用戶名去/etc/passwd中尋找echo這個用戶, 如果用戶不存在直接登錄失敗. 否則就會拿到UID, GID, 以及這個用戶擁有的SHELL環(huán)境等.
2.每二步在則是來到/etc/shadow文件中核對用戶輸入的密碼是否與echo這個用戶名密碼相同. 如果相同才能登錄系統(tǒng).
還記得/etc/passwd 中的每個字段"X"嗎. 這個X處在早以前是用來存放用戶密碼的, 后來因為安全性的問題把用戶的密碼提到了/etc/shadow中. 所以/etc/shadow這個文件的主要作用就是存放用戶的口令, 用戶登錄系統(tǒng)時來這里驗證. /etc/shadow文件與/etc/passwd文件格式幾乎是一樣的, 唯一的區(qū)別是/etc/shadow把每一行分為9個字段.
第一字段 帳戶名稱 (與/etc/passwd保持一致)
第二字段 帳戶口令(即密碼, 加密過的所以是一串字符)
第三字段 最近一次修改的日期
每四字段 密碼多久之內不能被修改, 以天為單位
第五字段 口令需要變更的天數(shù) (出于安全考慮, 可以這樣設置,強制用戶多久換一次密碼)
第六字段 口令變更前的提醒天數(shù)(根據(jù)第五個字段, 前多少天提醒用戶去修改口令)
第七字段 口令過期后的寬限時間(即第五字段過期后還可以寬限的天數(shù), 過了這個天數(shù)帳號就會默認為失效了)
第八字段 帳號失效日期(帳號如果超出這個設置后就會失效, 通過用在收費服務中, 或者我們的后臺任務當時, 任務完成帳號失效等)
第九字段 保留字段, 目前無實際應用
用戶的相關文件說完了. 你是否明白了. 如果你明白了, 接下來我們來看看操作帳號的幾個相關命令:
1.useadd(添加)
格式:useradd [-u UID] [-g 初始化群組] [-G 次要群組] [-mM] [-c 帳號說明欄] [-d 家目錄絕對路徑] [-s shell] 帳號名稱
選項與參數(shù)
-u 指定UID, 可以省略該選項, 系統(tǒng)會自動分配一個UID
-g 初始化群組, 不指定默認創(chuàng)建新的群組, 群組名與帳號名稱相同
-G 次要的群組, 可以指定該帳號的所屬的其它群組,多個用,分開, 如-G g1,g2,g3
-c 帳號的備注信息
-m 創(chuàng)建-d后指定的目錄, 此為默認項
-M 不創(chuàng)建-d后指定的目錄
-d 該用戶的home目錄
-s shell腳本環(huán)境, 默認為/bin/bash
如題: 我們創(chuàng)建一個test用戶,并且創(chuàng)建家目錄為/home/test, 設置次要群組為apache, 帳號備注為this is apache user
useradd -c'this is apache user' -Gapache -d'/home/test' -m test
2.usermod(修改)
選項與參數(shù), 大部分參數(shù)與useradd是一樣的. 這里我只簡單介紹向個附加的參數(shù)
-l 后接新的帳號名稱, 意思是修改帳號名稱
-L 暫時凍結該帳號, 讓帳號無法登錄, 修改/etc/shadow的第二欄為!, 即用戶口令欄,
-U 與-L相反, 解凍帳號, 使帳號恢復正常使用
用法與useradd相同
3.userdel(刪除)
選項與參數(shù)
-r 連同用戶的HOME目錄一同刪除
如userdel -r test 將刪除test用戶, 并且將/home目錄下的test目錄一并刪除.
linux下的命令一般都會有好多參數(shù), 想記住是非常困難的. 這里也只是簡單的介紹了一些常用的. 詳細的還需要我們用到的時候去查看, 比如可以用man usermod 來查看該命令的相關參數(shù)與說明. 學習不是一個簡單的事情, 擺正心態(tài),日積月累,勤加練習相信定有所獲.
關鍵詞:linux
閱讀本文后您有什么感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0