1.用戶理解
用戶就是系統使用者的身份,用戶以數據身份存在。在系統中用戶存儲爲若干竄字符+若干個系統配置文件。
用戶信息涉及到的系統配置文件:
(1)/etc/passwd ###用戶信息
用戶:密碼:uid:gid:說明:家目錄:用戶使用的shell
如下圖所示,在shell窗口輸入 cat /etc/passwd即可查出用戶的信息
(2)/etc/shadow ###用戶認證信息
用戶:密碼:最後一次密碼修改該時間:最短有效期:最長有效期:警告期:非活躍期:帳號到期日
如下圖所示,輸入cat /etc/shadow即可查出用戶認證信息。
(3)/etc/group ###組信息
組名稱:組密碼:組id:附加組成員
如下圖所示,輸入cat /etc/group即可查出組信息。
(4)/etc/gshadow ###組認證信息
如下圖所示,輸入cat /etc/gshadow即可查出組認證信息。
(5)/home/username ###用戶家目錄
(6)/etc/skel/.* ###用戶骨架文件
如下圖所示,輸入cat /etc/skel/.*即可查出用戶骨架文件。
注意:/etc/skel/這個目錄中的所有文件或目錄
2.用戶管理
(1)用戶建立
useradd 參數 用戶名字
-u ##指定用戶uid
如下圖所示,建立一個用戶,並指定uid爲888。
-g ##指定用戶初始組信息,這個組必須已經存在
如下圖所示,建立一個用戶,並指定初始組爲linux。
-G ##指定附加組,這個組必須存在
如下圖所示,建立一個用戶,並指定附加組的id爲21。
-c ##用戶說明
如下圖所示,新建用戶,用戶說明爲westos user。
-d ##用戶家目錄
如下圖所示,建立一個用戶,並指定家目錄爲/mnt/westos
-s ##用戶所使用的shell,/etc/shells記錄了用戶能使用shell的名字
如下圖所示,建立一個用戶,並指定用戶能使用的shell名字爲/bin/tcsh。
##用戶和組的id須一致,否則提示組不存在。
## 用戶名不要爲數字。數字的id與bin相同,用戶名爲數字時用戶id的顯示爲bin。
useradd -s /sbin/nologin westos ##新建用戶westos,並禁止該用戶交互登陸
如圖所式,新建用戶westos,然後切換到用戶westos,系統提示該用戶不可用
shell類型查詢:cat /etc/shells
(2)用戶刪除
userdel -r 用戶名稱 ##-r表示刪除用戶信息及用戶的系統配置
如下圖所示刪除用戶必須加上參數-r,否則會留下用戶的系統配置。
(3)組的建立
groupadd -g ##建立組
groupdel 組名字 ##刪除組
組的存在意義是共享權限,組分爲初始組(1個)和附加組(多個)。
作以上實驗的監控命令:
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt’
(4)用戶id信息查看
id 參數 用戶
-u ##用戶uid
-g ##用戶初始組id
-G ##用戶所有所在組id
-n ##顯示名稱而不是id數字
-a ##顯示所有信息
如下圖所示,id -a westos即可顯示該用戶的所有信息;加上參數-u、-g、 -G分別可查詢用戶的uid、初始組id、所有所在組id
(5)用戶信息更改
usermod 參數 用戶
-l ##更改用戶名稱
-u ##更改uid
-g ##更改gid
-G ##更改附加組
-aG ##添加附加組
-c ##更改說明
-d ##更改家目錄指定
-md ##更改家目錄指定及家目錄名稱
-s ##更改shell
-L ##凍結帳號
-U ##解鎖
注意:(1)passwd -l 用戶 ##凍結帳號,使用usermod -u 用戶解鎖需要使用該命令兩次。而passwd -u 用戶執行一次就可以解鎖。如下圖所示
(2) passwd -u 用戶 ##解鎖
usermod命令及參數使勇如下圖所示。
3.用戶權力下放
(1)在系統中超級用戶可以下放普通用戶不能執行的操作給普通用戶
下放權力配置文件:/etc/sudoers
(2)下放權力的方法
*)超級用戶執行visudo進入編輯/etc/sudoers模式
*)格式:
獲得權限用戶 主機名稱=(獲得到的用戶身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用戶能在desktop0.example.com以超級用戶身份執行/usr/sbin/useradd
root用戶執行visudo進入到/etc/sudoers文件,開始進行下放權力操作,添加內容如下圖中的第100及101行。
(3)執行下放權限命令
sudo 命令 ##如果第一次執行sudo需要輸入當前用戶密碼
在/etc/sudoers中如果設置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
表示用戶調用sudo命令的時候不需要自己密碼
當我們編輯結束保存文件後,即可使用下放的權力,如下圖所示。
4.用戶認證信息的控制
chage 參數 用戶
-d ##用戶密碼組後一次修改的時間,如果設定成0,用戶登陸系統後必須修改自己的密碼
-m ##最短有效期
-M ##最長有效期
-W ##警告期
-I ##用戶非活躍天數
-E ##帳號到期日格式 -E "YYYY-MM-DD"
chage命令及參數的使用如下圖所示。
當使用-m參數將最短有效期修改爲1(表示需要在一天之後才能修改密碼),立即修改密碼就會得到如下提示,表示需要等一段時間才能改密碼。
5.root密碼忘記
操作程序如下:
1.重新啓動系統
2.在系統啓動階段按上下健停止系統系統引導
3.選擇啓動引導標題,按“E”進行編輯
按E進入如下圖所示界面。
4.找到linux16引導條目這一行,從這行最後刪除到ro選項,並把ro改爲rw,然後添加rd.break選項
修改後的結果如下圖所示。
5.ctrl+x啓動設定過後的系統引導條目
6.進入系統後執行chroot /sysroot切換到真實的系統環境
7.passwd root修改超級用戶密碼
8.建立文件/.autorelabel讓系統從新掃描所有文件(touch /.autorelabel)
9.exit兩次使系統自動重新啓動
第6-9步的操作如下圖所示。