認識一下linux的權限管理其實認的不是你的用戶名和密碼而是識別的你的UID和GID說白了,就是你的用戶ID和群組ID
代碼如下:
>cat /etc/passwd
< p>root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
上邊的0就是用戶id,群組id也是0,當然是我現在的用戶root
用戶登錄的時候,會根據你的用戶名,譬如我的root來去/etc/passwd有沒有這個用戶,如果沒有跳出去,如果有就去/etc/shadow來找對應uid的密碼,最後執行登錄
代碼如下:
root : x : 0 : 0: root : /root: /bin/bash
root #用戶名
x #代表口令,現在存放在/etc/shadow中
0 #用戶的Uid
< p> #其中0是root,1-100是發行版自動創建的,100-499是系統需求時可以創建,500以後是一般使用的
< p> 0 #用戶的GId
root #用戶信息欄說明
/root #家目錄
/bin/bash #支持shell
< p># /etc/shadow
>cat /etc/shadow
root:$6$5SjcaJAS$EH0r0LsApaWsmpoz5Zoz4iSavI7nr./VVmUi5GnFYLsScVS7fTWz9JK7E8..bNajM7jV2q
BBn9fck5oiGzx0N1:16147:0:99999:7:::
< p>root #用戶名
$……1 #特別長那個是密碼
16147 #更改口令的日期
0 #口令可以更改的日期,就是相對上一個16147的更改日期,0 就是隨時修改
99999 #口令重新變更的天數
7 #口令警告,就是口令要過期了,windows用戶應該看見過
第7個沒有值 #這個是口令失效日期
第8個字段 #帳號失效日期
第9個字段 #保留
一般使用命令
useradd -G 用戶 次要群組
代碼如下:
>usermod -G users xiaowei
>grep xiaowei /etc/shadow /etc/passwd /etc/group
/etc/shadow:xiaowei:!:16147:0:99999:7:::
/etc/passwd:xiaowei:x:1001:1001::/home/xiaowei:/bin/sh
/etc/group:users:x:100:xiaowei
/etc/group:xiaowei:x:1001:
groups 支持的群組
代碼如下:
> groups
root xiaowei
newgrp 切換群組
代碼如下:
>newgrp xiaowei
>id
uid=0(root) gid=1001(xiaowei) groups=0(root),1001(xiaowei)
useradd 添加帳號
useradd [-u UID] [-g 初始群組] [-G 次要群組] [-mM] [-c 說明欄] [-d 家目錄絕對路徑] [-s shell] 使用者賬號名
選項與參數:
-u :後面接的是 UID ,是一組數字。直接指定一個特定的 UID 給這個賬號;
-g :後面接的那個組名就是我們上面提到的 initial group 啦~
該群組的 GID 會被放置到 /etc/passwd 的第四個字段內。
-G :後面接的組名則是這個賬號還可以加入的群組。
這個選項與參數會修改 /etc/group 內的相關數據喔!
-M :強制!不要創建用戶家目錄!(系統賬號默認值)
-m :強制!要創建用戶家目錄!(一般賬號默認值)
-c :這個就是 /etc/passwd 的第五欄的說明內容啦~可以隨便我們配置的啦~
-d :指定某個目錄成為家目錄,而不要使用默認值。務必使用絕對路徑!
-r :創建一個系統的賬號,這個賬號的 UID 會有限制 (參考 /etc/login.defs)
-s :後面接一個 shell ,若沒有指定則默認是 /bin/bash 的啦~
-e :後面接一個日期,格式為『YYYY-MM-DD』此項目可寫入 shadow 第八字段,
亦即賬號失效日的配置項目啰;
-f :後面接 shadow 的第七字段項目,指定口令是否會失效。0為立刻失效,
-1 為永遠不失效(口令只會過期而強制於登陸時重新配置而已。)
代碼如下:
# 添加一個widuuweb用戶,uid為800 群組id1001 強制創建家目錄,描述為test 家目錄/root/test 不允許登錄
> useradd -u 800 -g 1001 -m -c test -d /root/test -s /sbin/nologin widuuweb
> grep widuuweb /etc/passwd
widuuweb:x:800:1001:test:/root/test:/sbin/nologin
passwd 修改密碼
passwd [-l] [-u] [--stdin] [-S] [-n 日數] [-x 日數] [-w 日數] [-i 日期] 賬號 <==root 功能
選項與參數:
--stdin :可以透過來自前一個管線的數據,作為口令輸入,對 shell script 有幫助!
-l :是 Lock 的意思,會將 /etc/shadow 第二欄最前面加上 ! 使口令失效;
-u :與 -l 相對,是 Unlock 的意思!
-S :列出口令相關參數,亦即 shadow 文件內的大部分信息。
-n :後面接天數,shadow 的第 4 字段,多久不可修改口令天數
-x :後面接天數,shadow 的第 5 字段,多久內必須要更動口令
-w :後面接天數,shadow 的第 6 字段,口令過期前的警告天數
-i :後面接『日期』,shadow 的第 7 字段,口令失效日期
>passwd -l xiaowei #這個時候就鎖定無法登錄了
>passwd -u xiaowei #解鎖可以登錄了
>passwd xiaowei #輸入密碼更換密碼
#同passwd -S有相同功能的chage
選項與參數:
-l :列出該賬號的詳細口令參數;
-d :後面接日期,修改 shadow 第三字段(最近一次更改口令的日期),格式 YYYY-MM-DD
-E :後面接日期,修改 shadow 第八字段(賬號失效日),格式 YYYY-MM-DD
-I :後面接天數,修改 shadow 第七字段(口令失效日期)
-m :後面接天數,修改 shadow 第四字段(口令最短保留天數)
-M :後面接天數,修改 shadow 第五字段(口令多久需要進行變更)
-W :後面接天數,修改 shadow 第六字段(口令過期前警告日期)
usermod 修改用戶參數
-c :後面接賬號的說明,即 /etc/passwd 第五欄的說明欄,可以加入一些賬號的說明。
-d :後面接賬號的家目錄,即修改 /etc/passwd 的第六欄;
-e :後面接日期,格式是 YYYY-MM-DD 也就是在 /etc/shadow 內的第八個字段數據啦!
-f :後面接天數,為 shadow 的第七字段。
-g :後面接初始群組,修改 /etc/passwd 的第四個字段,亦即是 GID 的字段!
-G :後面接次要群組,修改這個使用者能夠支持的群組,修改的是 /etc/group 啰~
-a :與 -G 合用,可『添加次要群組的支持』而非『配置』喔!
-l :後面接賬號名稱。亦即是修改賬號名稱, /etc/passwd 的第一欄!
-s :後面接 Shell 的實際文件,例如 /bin/bash 或 /bin/csh 等等。
-u :後面接 UID 數字啦!即 /etc/passwd 第三欄的數據;
-L :暫時將用戶的口令凍結,讓他無法登陸。其實僅改 /etc/shadow 的口令欄。
-U :將 /etc/shadow 口令欄的 ! 拿掉,解凍啦!
復制代碼
代碼如下:
>usermod -c nihao xiaowei
xiaowei:x:1001:1001:nihao:/home/xiaowei:/bin/sh
< p>>usermod -d /root/xiaowei xiaowei #xiaowei家目錄就是這個位置了
< p>>usermod -s /sbin/nologin xiaowei
>su xiaowei
#無法登錄了
Cannot execute /sbin/nologin: No such file or directory
userdel 刪除用戶
代碼如下:
>userdel widuuweb #刪除用戶 userdel -r widuuweb 連同家目錄一起刪除
id
前邊使用過了
代碼如下:
>id xiaowei #顯示用戶的用戶群組信息
uid=1001(xiaowei) gid=1001(xiaowei) groups=1001(xiaowei),100(users)
groupadd 添加組
代碼如下:
>groupadd -g 102 -r xiaowei #-g 組id可有可無 -r 組名
>groupadd widuuweb
> grep widuuweb /etc/group
#widuuweb:x:1003:
groupmod 修改組信息
代碼如下:
groupmod [-g gid] [-n group_name] 群組名
>groupmod -g 201 -n widuu xiaowei
groupdel 刪除群組
代碼如下:
>groupdel widuu
gpasswd 群組管理
選項與參數:
:若沒有任何參數時,表示給予 groupname 一個口令(/etc/gshadow)
-A :將 groupname 的主控權交由後面的使用者管理(該群組的管理員)
-M :將某些賬號加入這個群組當中!
-r :將 groupname 的口令移除
-R :讓 groupname 的口令欄失效
代碼如下:
>gpasswd -A xiaowei widuu #xiaowei加入widuu群組
>gpasswd widuu #設置口令
>gpasswd widuu xiaowei1 #講xiaowei1加入群組