Linux系統用戶定義及用戶管理

簡介:在Linux系統裏面,用戶是系統使用者的身份。在企業裏員工的人員的變動,以及級別的改動都會使系統中使用者的身份和權限發生改變。所以我們需要去理解用戶的定義,如何去管理用戶。有些文件需要或者功按企業的實際規定會對使用者有差別不對等的限制,就需要運維工作人員去處理。下面會詳細介紹用戶的定義及用戶管理。

一.用戶理解

   用戶就是系統使用者的身份(root超級用戶,student、tom等一些普通用戶,身份不同,權限也不同。超級用戶有所有的權限,同時超級用戶的權限也可以下放到普通用戶,像公司的管理高層就需要像超級用戶root差不多級別的權限)
  1. 用戶信息涉及到的配置文件/etc,/home

在系統中用戶存儲爲若干竄字符+若干個系統配置文件。這些文件我們可以通過圖形方式查看,一般情況下我們在操作Linux命令的時候,會在shell裏直接用vim命令進行編輯模式。
用戶信息涉及到的系統配置文件:
/etc/passwd ###用戶信息
用戶:密碼:uid:gid:說明:家目錄:用戶使用的shell
/etc/shadow ###用戶認證信息
用戶:密碼:最後一次密碼修改該時間:最短有效期:最長有效期:警告期:非活躍期:帳號到期日
/etc/group ###組信息
組名稱:組密碼:組id:附加組成員
/etc/gshadow ###組認證信息
/home/username ###用戶家目錄
/etc/skel/.* ###用戶骨架文件

二.用戶管理

1.用戶建立

useradd 參數 用戶名字
-u ##指定用戶uid
-g ##指定用戶初始組信息,這個組必須已經存在
-G ##指定附加組,這個組必須存在
-c ##用戶說明
-d ##用戶家目錄
-s ##用戶所使用的shell,/etc/shells記錄了用戶能使用shell的名字

[root@desktop27 Desktop]# useradd tom ##創建tom用戶
[root@desktop27 Desktop]# id tom ##查看tom的id地址
uid=1001(tom) gid=1001(tom) groups=1001(tom)
##默認組id, 附加組id等於用戶id
[root@desktop27 Desktop]# useradd -u 1001 harry ##設定harry的初始組id是1001
useradd: UID 1001 is not unique
##報錯,tom的id是1001,id是唯一性,所以不能創建
-g root -G student marry ##指定marry的附加組是student
[root@desktop27 Desktop]# id leo
uid=5001(leo) gid=0(root) groups=0(root)
[root@desktop27 Desktop]# id marry
uid=5002(marry) gid=0(root) groups=0(root),1000(student)
##附加組1000(student

2.用戶刪除

userdel -r 用戶名稱 -r表示刪除用戶信息及用戶的系統配置

[root@desktop27 Desktop]# userdel tom      ##刪除用戶tom
[root@desktop27 Desktop]# id tom           ##查看已經刪除了
id: tom: no such user
[root@desktop27 Desktop]# userdel student    
userdel: group student not removed because it has other members.
                    ##student有多個身份,包括組名,附加組,所以刪除不了student
[root@desktop27 Desktop]# userdel -r student
userdel: user 'student' does not exist ##student用戶已經被刪除了
[root@desktop27 Desktop]# id student
id: student: no such user

這裏寫圖片描述

3.組的建立
groupadd -g ##建立組
groupdel 組名字 ##刪除組

[root@desktop27 Desktop]# groupadd shenchan   ##創建shenchan組   
[root@desktop27 Desktop]# useradd -g shenchan hello ##將hello分配給shenchan 組
[root@desktop27 Desktop]# id hello      
uid=1002(hello) gid=1004(shenchan) groups=1004(shenchan)
[root@desktop27 Desktop]# groupdel shenchan
groupdel: cannot remove the primary group of user 'hello'
     ##用戶在這個組裏,該組不能不被刪除,得清空組裏成員才能刪除
   格式: 改變用戶名,chmod -l 修改的名字 現名字
[root@desktop27 Desktop]# usermod -l tomtom tom 
usermod: warning: /var/spool/mail/tom not owned by tom  
[root@desktop27 Desktop]# usermod -u 5999 tomtom
[root@desktop27 Desktop]# usermod -L hello
[root@desktop27 Desktop]# usermod -U hello
[root@desktop27 Desktop]# 

作以上實驗的監控命令:
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 ##顯示所有信息

[root@desktop27 Desktop]# id -u tom
1000   ##用戶id
[root@desktop27 Desktop]# id -g tom
1001   ##組id
[root@desktop27 Desktop]# id -G tom
1001   ##附加組id
[root@desktop27 Desktop]# id -Gn tom
tom    ##y用戶名
[root@desktop27 Desktop]# id -a tom     ##-a查看用戶的所有信息
uid=1000(tom) gid=1001(tom) groups=1001(tom)

這裏寫圖片描述

5.用戶信息更改

usermod 參數 用戶
-l ##更改用戶名稱
-u ##更改uid
-g ##更改gid
-G ##更改附加組
-aG ##添加附加組
-c ##更改說明
-d ##更改家目錄指定
-md ##更改家目錄指定及家目錄名稱
-s ##更改shell
-L ##凍結帳號
-U ##解鎖
這裏寫圖片描述

三.用戶權力下放

1.在系統中超級用戶可以下放普通用戶不能執行的操作給普通用戶

下放權力配置文件:/etc/sudoers


權限下放
[hello@desktop27 ~]$ useradd hello1234
-bash: /usr/sbin/useradd: Permission denied
[hello@desktop27 ~]$ logout
[root@desktop27 ~]# visudo    ##等同於vim /etc/sudoers

hello desktop27.example.com=(root) NOPASSWD: /usr/sbin/useradd
##用戶hello在執行usr/etc/useradd時等同與超級用戶root
[root@desktop27 ~]# su - hello
Last login: Sat Jul 22 01:51:56 EDT 2017 on pts/1   
[hello@desktop27 ~]$ sudo /usr/sbin/useradd hello1234 ##用sudo命令去執行
[sudo] password for hello:          
[hello@desktop27 ~]$ id hello1234  ##查看創建成功
uid=6000(hello1234) gid=6000(hello1234) groups=6000(hello1234)

==免密碼
[hello@desktop27 ~]$ sudo /usr/sbin/useradd hello12345
[hello@desktop27 ~]$ id hello12345
uid=6001(hello12345) gid=6001(hello12345) groups=6001(hello12345)

這裏寫圖片描述

這裏寫圖片描述

2.下放權力的方法

*)超級用戶執行visudo進入編輯/etc/sudoers模式
*)格式:
獲得權限用戶 主機名稱=(獲得到的用戶身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用戶能在desktop0.example.com以超級用戶身份執行/usr/sbin/useradd
需要密碼

免密碼

3.執行下放權限命令

sudo 命令 ##如果第一次執行sudo需要輸入當前用戶密碼
在/etc/sudoers中如果設置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
表示用戶調用sudo命令的時候不需要自己密碼

四.用戶認證信息的控制


chage 參數 用戶
-d ##用戶密碼組後一次修改的時間,如果設定成0,用戶登陸系統後必須修改自己的密碼
-m ##最短有效期
-M ##最長有效期
-W ##警告期
-I ##用戶非活躍天數
-E ##帳號到期日格式 -E “YYYY-MM-DD”

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章