文章目錄
- 1. Linux系統用戶賬號的管理
- 1.1 useradd-添加新的用戶賬號
- 1.2 userdel-洗掉帳號
- 1.3 usermod-修改帳號
- 1.4 passwd-用戶口令(密碼)的管理
- 2. Linux系統用戶組的管理
- 2.1 groupadd-增加一個新的用戶組
- 2.2 groupdel-洗掉一個已有的用戶組
- 2.3 groupmod-修改用戶組的屬性
- 2.4 newgrp-切換用戶組
- 3. 與用戶賬號有關的系統檔案
- 3.1 /etc/passwd檔案 -- 用戶管理作業涉及的最重要的一個檔案
- 3.2 /etc/shadow檔案 -- 存放加密后的口令字
- 3.3 /etc/group檔案 -- 存放用戶組的所有資訊
- 4. 添加批量用戶
1. Linux系統用戶賬號的管理
用戶賬號的管理作業主要涉及到用戶賬號的添加、修改和洗掉,
1.1 useradd-添加新的用戶賬號
添加用戶賬號就是使用useradd命令在系統中創建一個新賬號,然后為新賬號分配用戶號、用戶組、主目錄和登錄Shell等資源,剛添加的賬號是被鎖定的,無法使用,為其指定口令(密碼)后才可以使用,
增加用戶賬號就是在/etc/passwd檔案中為新用戶增加一條記錄,同時更新其他系統檔案如/etc/shadow, /etc/group等,
語法:
useradd 選項 用戶名
選項:
-c comment 指定一段注釋性描述,
-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄,
-g 用戶組 指定用戶所屬的用戶組,
-G 用戶組,用戶組 指定用戶所屬的附加組,
-s Shell檔案 指定用戶的登錄Shell,
-u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號,
創建用戶sam,指定用戶目錄為/home/sam,若不存在則創建
# useradd –d /home/sam -m sam
創建用戶gem,指定用戶的登錄Shell是 /bin/sh,該用戶屬于group用戶組,也屬于附加組adm和root用戶組
# useradd -s /bin/sh -g group –G adm,root gem
1.2 userdel-洗掉帳號
如果一個用戶的賬號不再使用,可以使用userdel命令從系統中洗掉,洗掉用戶賬號就是要將/etc/passwd等系統檔案中的該用戶記錄洗掉,必要時還洗掉用戶的主目錄,
語法:
userdel 選項 用戶名
選項
-r : 作用是把用戶的主目錄一起洗掉,
洗掉用戶sam,同時洗掉用戶的主目錄,
# userdel -r sam
1.3 usermod-修改帳號
修改用戶賬號就是根據實際情況使用usermod命令更改用戶的有關屬性,如用戶號、主目錄、用戶組、登錄Shell等,
語法:
usermod 選項 用戶名
選項
-c comment 指定一段注釋性描述,
-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄,
-g 用戶組 指定用戶所屬的用戶組,
-G 用戶組,用戶組 指定用戶所屬的附加組,
-s Shell檔案 指定用戶的登錄Shell,
-u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號,
-l 指定一個新的賬號,即將原來的用戶名改為新的用戶名,
將用戶sam的登錄Shell修改為/bin/ksh,主目錄改為/home/z,用戶組改為developer,
# usermod -s /bin/ksh -d /home/z –g developer sam
1.4 passwd-用戶口令(密碼)的管理
用戶管理的一項重要內容是用戶口令的管理,用戶賬號剛創建時沒有口令,但是被系統鎖定,無法使用,必須為其指定口令后才可以使用,即使是指定空口令,
注意: Linux 用戶登陸輸入密碼時,字符是不顯示的,這樣可以防止別人看見你密碼的位數,安全性稍高,若輸入錯誤,可以按Backspace 重新輸入,
指定和修改用戶口令的Shell命令是passwd,超級用戶可以為自己和其他用戶指定口令,普通用戶只能用它修改自己的口令,
語法:
passwd 選項 用戶名
選項:
-l 鎖定口令,即禁用賬號,
-u 口令解鎖,
-d 使賬號無口令,
-f 強迫用戶下次登錄時修改口令,
當前用戶是sam,默認用戶名,則修改當前用戶的口令,
$ passwd
Old password:******
New password:*******
Re-enter new password:*******
超級用戶,可以指定任何用戶的口令
# passwd sam
New password:*******
Re-enter new password:*******
2. Linux系統用戶組的管理
每個用戶都有一個用戶組,系統可以對一個用戶組中的所有用戶進行集中管理,Linux下的用戶屬于與它同名的用戶組,這個用戶組在創建用戶時同時創建,
用戶組的管理涉及用戶組的添加、洗掉和修改,組的增加、洗掉和修改實際上就是對/etc/group檔案的更新,
2.1 groupadd-增加一個新的用戶組
語法:
groupadd 選項 用戶組
選項:
-g GID 指定新用戶組的組標識號(GID),
-o 一般與-g選項同時使用,表示新用戶組的GID可以與系統已有用戶組的GID相同,
增加了一個新組group1,組標識號默認當前已有的最大組標識號的基礎上加1
# groupadd group1
增加了一個新組group2,同時指定新組的組標識號是101
# groupadd -g 101 group2
2.2 groupdel-洗掉一個已有的用戶組
語法:
groupmod 選項 用戶組
從系統中洗掉組group1
# groupdel group1
2.3 groupmod-修改用戶組的屬性
語法:
groupmod 選項 用戶組
選項:
-g GID 為用戶組指定新的組標識號,
-o 與-g選項同時使用,用戶組的新GID可以與系統已有用戶組的GID相同,
-n 新用戶組 將用戶組的名字改為新名字
將組group2的組標識號修改為102
# groupmod -g 102 group2
將組group2的標識號改為10000,組名修改為group3,
# groupmod –g 10000 -n group3 group2
2.4 newgrp-切換用戶組
如果一個用戶同時屬于多個用戶組,那么用戶可以在用戶組之間切換,以便具有其他用戶組的權限
語法:
newgrp 用戶組
將當前用戶切換到root用戶組(前提root用戶組是該用戶的主組或附加組)
$ newgrp root
3. 與用戶賬號有關的系統檔案
3.1 /etc/passwd檔案 – 用戶管理作業涉及的最重要的一個檔案
inux系統中的每個用戶都在/etc/passwd檔案中有一個對應的記錄行,它記錄了這個用戶的一些基本屬性,這個檔案對所有用戶都是可讀的,
# cat /etc/passwd
root:x:0:0:Superuser:/:
daemon:x:1:1:System daemons:/etc:
bin:x:2:2:Owner of system commands:/bin:
sys:x:3:3:Owner of system files:/usr/sys:
adm:x:4:4:System accounting:/usr/adm:
sam:x:200:50:Sam san:/home/sam:/bin/sh
......
每行記錄又被冒號(:)分隔為7個欄位,其格式和具體含義如下:
用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell
-
用戶名: 代表用戶賬號的字串,
通常長度不超過8個字符,并且由大小寫字母和/或數字組成,登錄名中不能有冒號( : ) -
口令(密碼): 存放著加密后的用戶口令字,
由于/etc/passwd檔案對所有用戶都可讀,所以這是一個安全隱患,因此,許多Linux 系統都使用了shadow技術,把真正的加密后的用戶口令字存放到/etc/shadow檔案中,而在/etc/passwd檔案的口令欄位中只存放一個特殊的字符,例如“x”或者“*”, -
用戶標識號: 是一個整數,系統內部用它來標識用戶,
一般情況下它與用戶名是一一對應的,如果幾個用戶名對應的用戶標識號是一樣的,系統內部將把它們視為同一個用戶,但是它們可以有不同的口令、不同的主目錄以及不同的登錄Shell等,
通常用戶標識號的取值范圍是0~65 535,0是超級用戶root的標識號,1~99由系統保留,作為管理賬號,普通用戶的標識號從100開始,在Linux系統中,這個界限是500, -
組標識號: 欄位記錄的是用戶所屬的用戶組,
它對應著/etc/group檔案中的一條記錄, -
注釋性描述: 欄位記錄著用戶的一些個人情況,
這個欄位存放的是一段任意的注釋性描述文字,用做finger命令的輸出, -
主目錄: 就是用戶的起始作業目錄,
它是用戶在登錄到系統之后所處的目錄,各用戶對自己的主目錄有讀、寫、執行(搜索)權限,其他用戶對此目錄的訪問權限則根據具體情況設定, -
Shell: 用戶登錄到系統后運行的命令解釋器或某個特定的程式,負責將用戶的操作傳給內核
3.2 /etc/shadow檔案 – 存放加密后的口令字
由于/etc/passwd檔案是所有用戶都可讀的,因此對安全性要求較高的Linux系統都把加密后的口令字分離出來,單獨存放在一個檔案中,這個檔案是/etc/shadow檔案, 超級用戶才擁有/etc/shadow檔案讀權限,
/etc/shadow中的記錄行與/etc/passwd中的一一對應,它由pwconv命令根據/etc/passwd中的資料自動產生
# cat /etc/shadow
root:Dnakfw28zf38w:8764:0:168:7:::
daemon:*::0:0::::
bin:*::0:0::::
listen:*::0:0::::
lp:*::0:0::::
sam:EkdiSECLWPdSa:9740:0:0::::
......
每行記錄又被冒號(:)分隔為9個欄位,其格式和具體含義如下:
登錄名:加密口令:最后一次修改時間:最小時間間隔:最大時間間隔:警告時間:不活動時間:失效時間:標志
- 登錄名: 是與/etc/passwd檔案中的登錄名相一致的用戶賬號
- 口令: 欄位存放的是加密后的用戶口令字,長度為13個字符,如果為空,則對應用戶沒有口令,登錄時不需要口令;如果含有不屬于集合 { ./0-9A-Za-z }中的字符,則對應的用戶不能登錄,
- 最后一次修改時間: 表示的是從某個時刻起,到用戶最后一次修改口令時的天數,時間起點對不同的系統可能不一樣,例如在SCO Linux 中,這個時間起點是1970年1月1日,
- 最小時間間隔: 指的是兩次修改口令之間所需的最小天數,
- 最大時間間隔: 指的是口令保持有效的最大天數,
- 警告時間: 欄位表示的是從系統開始警告用戶到用戶密碼正式失效之間的天數,
- 不活動時間: 表示的是用戶沒有登錄活動但賬號仍能保持有效的最大天數,
- 失效時間: 欄位給出的是一個絕對的天數,如果使用了這個欄位,那么就給出相應賬號的生存期,期滿后,該賬號就不再是一個合法的賬號,也就不能再用來登錄了,
3.3 /etc/group檔案 – 存放用戶組的所有資訊
每個用戶都屬于某個用戶組;一個組中可以有多個用戶,一個用戶也可以屬于不同的組,
root::0:root
bin::2:root,bin
sys::3:root,uucp
adm::4:root,adm
daemon::5:root,daemon
lp::7:root,lp
users::20:root,sam
由冒號(:)隔開若干個欄位,這些欄位有:
組名:口令:組標識號:組內用戶串列
- 組名: 是用戶組的名稱,由字母或數字構成,與/etc/passwd中的登錄名一樣,組名不應重復,
- 口令: 欄位存放的是用戶組加密后的口令字,一般Linux 系統的用戶組都沒有口令,即這個欄位一般為空,或者是*,
- 組標識號: 與用戶標識號類似,也是一個整數,被系統內部用來標識組,
- 組內用戶串列: 是屬于這個組的所有用戶的串列/b],不同用戶之間用逗號(,)分隔,這個用戶組可能是用戶的主組,也可能是附加組,
4. 添加批量用戶
Linux系統提供了創建大量用戶的工具,可以讓您立即創建大量用戶,方法如下:
-
編輯一個文本用戶檔案,
每一列按照/etc/passwd密碼檔案的格式書寫,要注意每個用戶的用戶名、UID、宿主目錄都不可以相同,其中密碼欄可以留做空白或輸入x號,一個范例檔案user.txt內容如下:user001::600:100:user:/home/user001:/bin/bash user002::601:100:user:/home/user002:/bin/bash user003::602:100:user:/home/user003:/bin/bash user004::603:100:user:/home/user004:/bin/bash -
以root身份執行命令 /usr/sbin/newusers,從剛創建的用戶檔案user.txt中匯入資料,創建用戶:
# newusers < user.txt可以執行命令 vipw 或 vi /etc/passwd 檢查 /etc/passwd 檔案是否已經出現這些用戶的資料,并且用戶的宿主目錄是否已經創建,
-
執行命令/usr/sbin/pwunconv,
將 /etc/shadow 產生的 shadow 密碼解碼,然后回寫到 /etc/passwd 中,并將/etc/shadow的shadow密碼欄刪掉,這是為了方便下一步的密碼轉換作業,即先取消 shadow password 功能,# pwunconv -
編輯每個用戶的密碼對照檔案,
格式為:用戶名:密碼
實體檔案 passwd.txt 內容如下:
user001:123456 user002:123456 user003:123456 user004:123456 -
以 root 身份執行命令 /usr/sbin/chpasswd,
創建用戶密碼,chpasswd 會將經過 /usr/bin/passwd 命令編碼過的密碼寫入 /etc/passwd 的密碼欄,# chpasswd < passwd.txt -
確定密碼經編碼寫入/etc/passwd的密碼欄后,
執行命令 /usr/sbin/pwconv 將密碼編碼為 shadow password,并將結果寫入 /etc/shadow,# pwconv這樣就完成了大量用戶的創建了,之后您可以到/home下檢查這些用戶宿主目錄的權限設定是否都正確,并登錄驗證用戶密碼是否正確,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/300972.html
標籤:其他
上一篇:哈希傳遞攻擊/黃金白銀票據
