linux上用戶和組的管理一般使用user和group相關命令管理
用戶管理:
1、添加新的用戶賬號
使用useradd命令,其語法如下:
useradd 選項 用戶名
其中各選項含義如下:
-c comment 指定一段注釋性描述。
-d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
-g 用戶組 指定用戶所屬的用戶組。
-G 用戶組,用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登錄Shell。
-u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。
用戶名 指定新賬號的登錄名。
2、刪除用戶
使用userdel命令, 其格式如下:
如果一個用戶的賬號不再使用,可以從系統中刪除。刪除用戶賬號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄。刪除一個已有的用戶賬號使用userdel命令,其格式如下:
userdel 選項 用戶名
常用的選項是-r,它的作用是把用戶的主目錄一起刪除。
3、修改用戶
使用usermod命令, 其格式如下:
修改用戶賬號就是根據實際情況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登錄Shell等。
修改已有用戶的信息使用usermod命令,其格式如下:
usermod 選項 用戶名
常用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項一樣,可以為用戶指定新的資源值。
用戶組的管理
1、增加一個新的用戶組
使用groupadd命令, 其格式如下:
groupadd 選項 用戶組
可以使用的選項有:
-g GID 指定新用戶組的組標識號(GID)。
-o 一般與-g選項同時使用,表示新用戶組的GID可以與系統已有用戶組的GID相同。
2、刪除一個已有的用戶組
使用groupdel命令, 其格式如下:
groupdel 用戶組
3、修改用戶組的屬性
使用groupmod命令。 其語法如下:
groupmod 選項 用戶組
常用的選項有:
-g GID 為用戶組指定新的組標識號。
-o 與-g選項同時使用,用戶組的新GID可以與系統已有用戶組的GID相同。
-n新用戶組 將用戶組的名字改為新名字
Ⅱ Linux中如何創建用戶和組
linux中如何創建用戶和組用戶管理,主要的工作就是建立一個合法的用戶帳戶、設置和管理用戶的密碼、修改用戶帳戶的屬性以及在必要時刪除已經廢棄的用戶帳號。1)增加一個新用戶在linux系統中,只有root用戶才能夠創建一個新用戶,如下的命令將新建一個登錄名user1的用戶。
www.shiwu.com
#useradser1但是,這個用戶還不能夠登錄,因為還沒給它設置初始密碼,而沒有密碼的用戶是不能夠登錄系統的。在默認情況下,將會在/home目錄下新建一個與用戶名相同的用戶主目錄。在linux中,新增一個用戶的同時會創建一個新組,這個組與該用戶同名,而這個用戶就是該組的成員。如果你想讓新的用戶歸屬於一個已經存在的組,則可以使用如下命令:#useradd-gusergroup1user1這樣該用戶就屬於usergroup1組的一員了。而如果想讓其再屬於一個組usergroup2,那麼使用:#useradd-Gusergroup2user1完成了這一操作後,你還應該使用passwd命令為其設置一個初始密碼。2)刪除一個用戶刪除用戶,只需使用一個簡單的命令userdel用戶名即可。不過最好將它留在系統上的文件也刪除掉,你可以使用userdel-r用戶名來實現這一目的。3)增加一個組我們可以根據自己的需要創建用戶組:
www.shiwu.com
groupadd<組名>4)刪除一個組同樣的,我們有時會需要刪除一個組,它的命令就是groupdel。本文來自於紅聯linux門戶
Ⅲ 用戶管理
Linux是個多用戶多任務操作系統,所有要使用系統資源的用戶都必須向管理員申請一個賬號,然後以這個賬號的身份進入系統。用戶的賬號一方面能幫助管理員對使用系統 的用戶 進行跟蹤,並控制他們對系統資源的訪問;另一方面也能幫助用戶組織文件,並為用戶提供安全性保護。每個用戶賬號都擁有一個惟一 的用戶 名和用戶口令。用戶在登錄時輸入正確 的用戶 名和口令後,才能進入系統和自己的主目錄。
實現用戶的管理,要完成的工作主要有如下幾個方面:
1、用戶賬號的添加、刪除和修改。
2、用戶口令的管理。
3、用戶組的管理。
首先Linux用戶類別有:
管理員,UID:root,0
系統用戶,UID:1-499(CentOS 6),1-999(CentOS 7)
登陸用戶,UID:>500(CentOS 6),>1000(CentOS 7)
用戶組類別:
管理員組,GID:root,0
系統組,GID:1-499(CentOS 6),1-1000(CentOS 7)
普通組,GID:>500(CentOS 6),>1000(CentOS 7)
Linux組的類別:
用戶的主要組(主組):每個有且僅有一個主要組,當用戶創建時,自動創建一個與用戶同名的組作為主要組。
用戶的附加組(輔助組):一個用戶可以屬於零個或多個輔助組。
CentOS6和7的默認UID和GID不同,這個是由於/etc/login.defs文件裡面的默認值所決定的
Linux用戶和組的主要配置文件
/etc/passwd:用戶及其屬性信息(名稱、UID、主組ID等)
該文件裡面一共有7項,包括
# [root@centos ~]# cat /etc/passwd
# root(用戶名):x(密碼):0(UID):0(GID):root(注釋):/root(家目錄):/bin/bash(默認SHELL)
假如把普通用戶的UID更改成0,該普通用戶會變成管理員賬號,因為在Linux系統裡面,識別管理員是否為管理員,就是查看用戶的UID號碼,為0則為管理員,在生產環境中,可能會把管理員root的賬號改成其他名字,這樣做是以防止黑客攻擊root賬號來進行破解。
/etc/group:組及其屬性信息
getent group [groupname]
# [root@centos7 ~]# cat /etc/group
# root(主組):x(組密碼):0(GID):gentoo(附加組的用戶列表)
組成員:將該組作為輔助組的成員列表。當成員先把該組當作輔助組,再轉成主要組時,不改變。當成員離開該組時,被刪除。
/etc/shadow:用戶密碼及其相關屬性
# [root@centos 7~]# cat /etc/shadow
# root(用戶名):$6$(加密方式為sha512加密)5wrv8BV(隨機數,俗稱鹽)$n3wljU/4.OUa/X.(用戶密碼):17110(從1970-1-1到最近一次修改的時間經過了多少天來表示):0(最小存活期,密碼再過幾天可以被更改):99999(最大存活期,密碼過期時間):7(在正確登錄時,密碼過期前提醒時間):(在正確登錄時,密碼過期後幾天賬號會被鎖定):(從1970年1月1日算起,多少天後帳號失效):(保留)
上面這個設置了密碼顯示的用戶。
現在我們再新建一個用戶看看
[root@centos6 ~]# useradd wang
[root@centos6 ~]# tail -1 /etc/shadow
wang:!!:17015:0:99999:7:::
我們會看見賬號密碼那裡有兩個!!,這表示賬號被鎖定,沒有密碼的話不允許該用戶去登陸,假如有密碼,但是那裡還是有一個嘆號的話,也表示賬號被鎖定,不對用戶進行解鎖的話該用戶將無法登陸。假如沒有嘆號的話,該用戶可以沒有密碼的情況下面直接登陸。不過該功能只能在CentOS 5版本和更老的版本可以實現,為了安全起見,從CentOS 6以後已經修正此問題。
/etc/gshadow:組密碼及其相關屬性
getent gshadow [groupname]
# cat /etc/gshadow
# root/(主組):(組密碼):(組管理員列表):gentoo(附加組的用戶列表)
當用戶不是該groupname的輔助組成員時,則需要輸入密碼,成功後臨時以主要組的身份加入該組。
當用戶是該groupname的輔助組成員時,無需輸入密碼,將臨時以主要組的身份加入該組,而其原有的主要組,臨時變為輔助組。
注意:為安全起見,現在一般都沒有組密碼,直接管理員指派,因為當其他用戶知道了組密碼,可以隨意加入該組,這樣的話就顯得不安全。
用戶和組管理命令
用戶管理命令: useradd usermod userdel
組的管理命令: groupadd groupmod groupdel
用戶管理命令
useradd [options] username增加用戶
-u UID username 創建用戶時指定UID,(如不指定則Centos:500-60000, Centos7: 1000-60000)
-o 配合-u選項使用,不檢查UID的唯一性,可以與已存在的用戶的uid相同
-g groupname username 創建用戶時,指定主組為某個已存在的組(將不會再創建與用戶同名的組)
-G group1[,group2] username 指定用戶的輔助組,但GID要事先存在
-N username 不創建私用組做主組,使用用戶的主要組做主組
-d 目錄: 指定家目錄(確保指定的家目錄所在的上級目錄要存在,且家目錄本身不能存在)
-c 備注 創建用戶時指定描述信息
-s shell:指定默認shell,應該指定使用/etc/shells文件中出現的shell
-r 創建系統用戶 特點:CentOS 6: ID<500,CentOS 7: ID<1000 默認shell為/sbin/nologin
-D 顯示或更改默認設置 (默認值設定:/etc/default/useradd或/etc/login.defs文件中)(此命令相當於cat / etc/default/useradd)
註:創建用戶時的諸多默認設定配置文件為/etc/login.defs
useradd –D -s SHELL -d是指定用戶的家目錄和登錄shell
注意:創建用戶不加-d和-s是是系統默認的家目錄(/home/qqq)和登錄shell(/bin/bash)。
useradd –D –b BASE_DIR
useradd –D –g GROUP
[root@centos6 ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
該命令,可以查看到創建用戶時候的各項默認值
例如更改其他用戶默認的家目錄和默認SHELL之類等等的參數就在這裡面
/etc/skel 家目錄文件的來源,在此文件夾裡面新建文件的話,創建新用戶的時候會連指定的新文件一並創建
/etc/login.defs 一些用戶和組等創建的默認設置的文件
usermod [options] username 修改指定用戶(跟useradd命令使用方法類似)
-u UID 更改用戶的UID
-g 組名 用戶名 更改用戶的主組
-G "" username 或 usermod -G primarygroup username 清空用戶所有的輔助組
-aG 組名,可以追加輔助組而不用覆蓋之前的組
-s SHELL 更改用戶的默認SHELL
-c 注釋
-d home,跟-m同時用移動家目錄數據,並將家目錄移動到目的目錄並改名 (不會創建,只修改/etc/passwd當中的家目錄信息)
-m 移動家目錄數據,跟-d同時用
-l 新的名字,把用戶改名
-e 指定過期日期yyyy-mm-dd
-f days 指定密碼過期之後多少天帳戶過期
-L 鎖定指定用戶,在/etc/shadow 裡面加! (同以上/etc/shadow的解釋)
-U 解鎖用戶,將/etc/shadow 裡面的!號拿掉 (同以上/etc/shadow的解釋)
userdel [options] LOGIN 刪除指定用戶
-r 連同家目錄和郵箱一起刪除
組的管理命令
groupadd [options] groupname 添加指定組
-g:指定用戶的GID
-r groupname: 創建系統組 CentOS 6: ID<500 CentOS 7: ID<1000
groupmod [options] GROUP 修改指定組
-g newgid groupid: 修改組的GID
-n newgrpname oldgrpname: 修改組的組名
groupdel [options] GROUP 刪除指定組
groupmems [options] [action] 更改和查看組成員
groupmems -a user_name | -d user_name | [-g group_name] | -l | -p (CentOS 7才有此命令)
options:
-g, --group groupname 更改為指定組 (只有root)(查看組里有哪些用戶)
-l -g 用戶名: 查看指定用戶名組下面還有哪些用戶屬於此組
-a 要增加的組
切換用戶或以其他用戶身份執行命令
切換用戶的方式:
su UserName:非登錄式切換,即不會讀取目標用戶的配置文件,不改變當前工作目錄
su – UserName:登錄式切換,會讀取目標用戶的配置文件,切換至家目錄,完全切換
root su至其他用戶無須密碼;非root用戶切換時需要密碼
換個身份執行命令:
su [-] UserName-c 'COMMAND'
選項:-l –login:
su -l UserName相當於su-UserName
查看用戶相關的ID信息
id [OPTION]… [USER]
-u: 查看用戶的UID
-g: 查看用戶的GID
-G: 查看用戶的Groups
-n: 查看用戶的Name
修改用戶密碼策略
chage -l username 顯示帳戶的密碼信息
-d 指定密碼的上次修改時間(yyyy-mm-dd)
-d 0 則強制用戶下次登錄時必須修改密碼
-E 指定賬戶的過期時間
-I 密碼過期之後多少天帳戶過期
-m 設置最小存活時間
-M 設置最大存活時間
-W 設置密碼過期前的提醒時間
chage username 互動式修改用戶的密碼策略
示例:
chage -d 0 tom 下一次登錄時強制重設密碼
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom
getent passwd,shadow,gourp,gshadow USERNAME/GROUPNAME
直接查看指定用戶/組裡面的passwd,shadow,gourp,gshadow文件裡面的內容
其他命令總結:
chsh:修改默認的shell
chfn:修改用戶注釋
finger:查看個人信息
vipw:使用vim來編輯passwd文件
vigr:使用vim來編輯group文件
pwconv:pwconv命令用來開啟用戶的投影密碼
pwunconv:pwconv命令用來關閉用戶的投影密碼
Linux系統里的用戶和群組密碼,分別存放在名稱為passwd和group的文件中, 這兩個文件位於/etc目錄下。因系統運作所需,任何人都得以讀取它們,造成安全上的破綻。投影密碼將文件內的密碼改存在/etc目錄下的shadow和gshadow文件內,只允許系統管理者讀取,同時把原密碼置換為"x"字元,有效的強化了系統的安全性。
批量增加用戶和改密碼
newusers FILE(有格式的文件) 批量加用戶 文件格式 /etc/passwd 文件的格式 root:x:0:0::/root:/bin/bash
ex. newusers user.txt
chpasswd FILE (有格式的文件) 批量改密碼 USERNAME:PASSWORD
ex. cat p.txt |chpasswd
注意,按照以上步驟的方法批量添加完用戶和密碼以後,這些用戶的家目錄裡面並沒有配置,此時需要我們手動把這裡面的配置復制到它們的家目錄裡面
/etc/skel 這個文件甲下面的文件是關於用戶初始配置裡面的變數文件之類
cp -r /etc/skel/.[^.]* /home/USERNAME
練習:
創建下面的用戶、組和組成員關系
名字為admins 的組
用戶natasha,使用admins 作為附屬組
用戶harry,也使用admins 作為附屬組
用戶sarah,不可交互登錄系統,且不是admins 的成員,
natasha,harry,sarah密碼都是centos
groupadd admins
useradd -G admins natasha
useradd -G admins harry
useradd -s /sbin/nologin sarah
echo centos |passwd --stdin natasha > /dev/null
echo centos |passwd --stdin harry > /dev/null
echo centos |passwd --stdin sarah > /dev/null
/dev/null是一個特殊的設備,就是一個數據黑洞,吞噬送往該設備的所有數據,以後如果不想讓屏幕有顯示可以,會經常用到這個/dev/unll 的數據吞噬設備
Ⅳ Linux用戶和群組管理
Linux系統使用一個專門的文件將用戶的登錄名匹配到對應的UID值,這個文件就是/etc/passwd文件,它包含了一些與用戶有關的關鍵信息
root用戶賬戶是Linux系統的管理員,固定分配給他的UID是0。Linux系統會為各種功能創建不同的賬戶,而這些賬戶並不是真的用戶,叫做系統賬戶
/etc/passwd文件文件中的密碼欄位都被設置成了x,這並不是說所有用戶賬戶都用相同的密碼,而密碼都被保存在另一個叫/etc/shadow的文件中,這需要特殊的程序才能訪問
/etc/passwd是一個標準的文本文件,但是不建議用編輯器直接修改其內容
/etc/shadow文件對Linux系統密碼提供了更多的控制,只有root用戶才能訪問/etc/shadow文件,這讓它比/etc/passwd安全許多
他一共有九個欄位
1、與/etc/passwd文件中登錄名對應欄位的登錄名
2、加密後的密碼
3、上次修改密碼後過去多少天
4、多少天後才能修改密碼
5、多少天後必須修改密碼
6、密碼過期提前多少天通知用戶
7、密碼過期後多少天禁用用戶賬戶
8、用戶賬戶被禁用的日期
9、預留欄位
/etc/group文件包含了系統上用到的每個組的信息和UID一樣,GID也使用相同的格式,並從500開始分配
主目錄 :用戶的起始工作目錄,用戶登錄後有操作許可權的訪問目錄
注釋性描述 :這個欄位並沒有什麼實際的用途。在不同的Linux 系統中,這個欄位的格式並沒有統一。在許多Linux系統中,這個欄位存放的是一段任意的注釋性描述文字,用做finger命令的輸出。
登陸shell :用戶登錄後,要啟動一個進程,負責將用戶的操作傳給內核,這個進程是用戶登錄到系統後運行的命令解釋器或某個特定的程序,即Shell。
newgrp 指令類似 login 指令,當它是以相同的帳號,另一個群組名稱,再次登入系統。 newgrp 命令可以從用戶的附加組中選擇一個群組,作為用戶新的初始組。 欲使用 newgrp 指令切換群組,您必須是該群組的用戶,否則將無法登入指定的群組。單一用戶要同時隸屬多個群組,需利用交替用戶的設置。若不指定群組名稱,則 newgrp 指令會登入該用戶名稱的預設群組。