linux中查看用户组标识符,Linux用户和组管理
用戶和組管理
目錄
1.用戶和用戶組介紹
2.用戶管理
3.組管理
4.用戶和組相關文件操作
1.用戶和組介紹
在linux中,用戶分為管理員和普通用戶;管理員為root,普通用戶又分為系統用戶和登錄用戶;系統用戶是對linux的守護進程進行資源分配的用戶,而登錄用戶就是我們平常登錄linux所使用的,都是登錄用戶自己定義的名字。
實際上,在linux系統中,系統所識別你是什么用戶可不是依靠所謂的用戶名來實現的,而是依靠UID來實現的,所謂的用戶名是為了讓我們更方便記憶。UID就是linux系統識別你是什么類型的用戶的唯一標識符。root的用戶的uid=0,普通用戶的uid為1-65535;其中,在CentOS6系統里系統用戶為為1-499,登錄用戶為500以后;而在centos7上,系統用戶是1-999,登錄用戶為1000以后。
組的情況和用戶基本一樣,也有管理員組和普通組,系統組和登錄用戶組,且系統識別組也是通過組id的,稱為GID,GID的分配方法也是和用戶一樣。但也有些不同地方,組名和用戶名相同且僅僅保護用戶自身的組稱為私有組;一個用戶可以附加到其他組內,這個組稱為這個用戶的附加組,也就是說,一個用戶可以屬于零個或多個組。
2.用戶管理命令
與用戶管理的相關的命令有以下這些,這里會選擇常用的選項來詳細說下:
useradd;usermod;userdel;id;passwd;chage;chfn;chsh;finger;chpasswd;newusers
1.useradd
useradd:用于創建新用戶或更新默認的新用戶信息
用法:useradd [選項] username
-u UID:指明新用戶的ID
-g GID:指明用戶所屬主組,可以使用組名,也可以使用GID。
-o:允許使用相同的uid 來創建用戶,常與-u配合
-d home_dir:用于所指定的路徑為家目錄
-c comment:用于指明用戶的注釋信息
-s shell:指明用戶默認shell程序
-G group1[,group2, ...]:指明用戶附加組,組必要事先存在
-r:創建系統用戶,系統賬號一般用于服務。
-N:不創建以用戶名命名的私有組,而是用users組作為主組
-D [s,b,g]:輸出或更改添加用戶時的默認設置
對于新創建的用戶,一個用戶的默認配置是根據/etc/default/useradd文件來配置的,選項-D就是用來修改這個文件的,你也可以直接修改這個文件里的內容。
上面提到選項-u和-g是決定用戶和組id的,你也可以去文件/etc/login.defs中來修改uid和gid可選范圍。當然/etc/login.defs文件中還有些其他如郵件地址等配置,你也可以根據需求進行修改。
創建一個新的用戶,一般是更改4個文件,分別:是/etc/passwd用于存放用戶信息;/etc/shadow用于存放密碼信息;/home用于存放用戶家目錄文件;/var/spool/mail用于存放用戶的郵件。
2.usermod
usermod:用于修改用戶屬性信息
用法:usermod [選項] username
-u UID:指定用戶的新的UID
-g GID:指定用戶所屬新的主組,可以使用組名,也可以使用GID
-G group1[,group2, ...]:指定用戶新附加組,組必要事先存在。
-s shell:指定用戶新的默認shell程序
-c comment:指定用戶的新的注釋信息
-d home_dir:指定的路徑為新家目錄
-l loginname:指定用戶登錄時新的用戶名
-L:鎖定用戶
-U:解鎖被鎖定的用戶,與-L相反
-e YY-MM-DD:指定用戶賬號過期日期
-f inactive:設定非活動期限
使用選項-G時需要注意,它會把原來的組給覆蓋掉,但你也可以保留原有的組,就需要用-a配合。
使用-d時,若要創建新的家目錄并移動原有家數據,則要配合使用-m選項。usermod -c用來修改或添加注釋信息,和后面提到的chfn作用一樣。usermod -e用來指定用戶賬號過期日期的,和后面提到的chage作用一樣。
對于分別用來鎖定和解鎖的-L和 -U,實際上是對/etc/shadow文件的修改,鎖定是在文件中加密碼的那一欄增加了個“!”,解鎖就是去掉了那個“!”。
3.userdel
userdel:用于刪除用戶賬號和相關用戶相關文件
用法:userdel [選項] username
-r:移除用戶家目錄和郵件
-f:強制執行刪除
刪除用戶時需要注意一點,就是正在使用的用戶是不能刪除的,強制執行刪除的話會有各種問題,所以建議不要使用強制刪除,并且強制刪除不一定能夠刪除掉。
4.id
id:查看用戶相關ID信息
用法:id [選項] [username]
-G:顯示所有組的id
-g:僅顯示有效的組id
-u:僅顯示有效的用戶id
-n:顯示名稱,需配合ugG
5.passwd
passwd:設置用戶密碼
用法:passwd [選項] username
-l:鎖定用戶
-u:解鎖被鎖定的用戶,與-l相反
-e:強制用戶下次登錄時修改密碼
-n mindays:指定最短使用期限
-x maxdays:指定最長使用期限
-w warndays:指定提前多少天開始警告
-i inactivedays:指定非活動期限
--stdin:從標準輸入接收用戶密碼
選項-l實際上是在/etc/passwd中有關密碼那一欄上增加了兩個“!!”,解鎖的-u選項就是把增加的“!!”給去掉。大家可能發現usermod中鎖定和解鎖和passwd 的不同,是否可以用usermod來解開passwd命令的鎖定,答案是可以的,passwd也可解開usermod的鎖定,這樣開來增加幾個“!”,好像沒什么區別。
選項--stdin的用法一般是echo "Password|passwd -stdin Username。passwd -e的作用和chage -d 0`一樣,可以相互代替。
6.chage
chage:修改用戶密碼滿期信息
用法:chage [選項] username
-d lastday:設置期滿最后時間
-E expiraday:設置期滿日期
-I:設置期滿后非活動日期
-l,--list:顯示用戶期滿信息
-m:設置min_day
-M:設置max_day
-W:設置warn_day
一般來說,有關密碼期滿設置,都是設置一個固定配置,就不會再更改了。這個命令的作用就是用來修改/etc/shadow 文件中的配置的,你也可以直接修改這個文件,但不建議,用命令修改會更加保險。
7.chfn
chfn:修改個人用戶注釋信息
用法:chfn [選項] [username]
-f:更改用戶全名
-o:修改office room number
-p:修改office phone number
-h:修改home phone number
chfn用來添加注釋信息,作用和useradd -c以及usermod -c相同,但畢竟chfn是專門用來針對個人信息的,功能更加全面。這個命令是修改的是/etc/passwd文件。
8.chsh
chsh:更改用戶登錄shell
用法:chsh [選項] [username]
-s:指定登錄shell
-l,--list:列出/etc/shells的shell內容
chsh指定shell與useradd -s和usermod -s有相同的作用,但還是那句話塑業有專攻,它也是修改的/etc/passwd文件。
9.finger
finger:查看用戶信息
用法:finger [-lsmp] [username...] [user@host...]
[-lsmp]都是可以用的選項,man中解釋太長了,這里就用例子看下:
10.newusers
newusers:批量創建用戶
用法:newusers [選項] [文件]
-r:創建系統賬號
[文件]:文件的格式是/etc/passwd的格式:pw_name:pw_passwd:pw_uid:pw_gid:pw_gecos:pw_dir:pw_shell
11.chpasswd
chpasswd:批量創建用戶密碼
用法 :cat 文件 |chpasswd
文件的格式:user_name:password,且每行一個用戶密碼。
上述命令中有些選項沒有提到,這里只說了下經常用到的,對其他選項有興趣的可以查看man幫助。
3.組管理
與組管理相關的命令如下,基本上和用戶管理命令差不多,這里也是說下常用的選項內容:
groupadd、groupmod、groupdel、gpasswd、newgrp、goupmems、groups
1.groupadd
groupadd:創建新組
用法:groupadd [選項] group
-g GID:指明gid給新用戶
-K KEY=VALUE:修改/etc/login.defs中的默認配置
-o:忽略gid的唯一性來創建組
-p password:給新用戶添加密碼
-r:創建系統賬戶
2.groupmod
groupmod:修改組的定義信息
用法:groupmod [選項] group
-g GID:修改為新的gid
-n groupname:修改為新的組名
-o:忽略gid的唯一性來修改組
-p password:修改組的密碼
3.groupdel
groupdel:刪除組
用法:groupdel [hR] group
4.gpasswd
gpasswd:管理/etc/group和/etc/gshadow
用法:gpasswd [選項] group
-a user:添加用戶到組
-d user:從組中刪除用戶
-r:刪除組的密碼
-R:限制組中的用戶
-M user ...:設置組中用戶列表,也就是添加多個用到組
-A admin:設置組的管理員,組的管理員權限放在/etc/gshadow中
5.newgrp
newgrp:臨時切換主組
用法:newgrp [-] group
切換組時,如果用戶本不屬于此組,則會需要密碼
6.groupmems
groupmems:管理用戶組成員,也就是附加組成員
用法:groupmems [選項] [操作]
[選項]:-g groupname:指定所要修改的除root用戶組外的組名
[操作]:
-a username·:添加用戶到組-d username:從組中刪除用-p:從組中清除所有成員-l`:顯示所有組成員
groupmems命令實際上也就是修改/etc/groups
7.groups
groups:顯示組中用戶,或存在一個用戶的組
用法:groups [username]
上述命令可以看出其和用戶管理命令很相似,實際上命令的執行都是通過修改配置文件來實現的,上述命令主要修改的是:/etc/group用來存放組的信息,也即就是組中用戶的列表等;/etc/gshadow用來存放組的密碼信息。
說到與用戶和組相關的文件,那來看看有關對這些文件操作命令
4.用戶和組相關文件操作
操作用戶和組相關配置文件的命令有以下這些:
vipw、vigr、pwck、grpck、getent
1.vipw和vigr
vipw,vigr:用于編輯password,group,shadow-password和shadow-group文件
用法:vipw [選項] 、vigr [選項]
vipw編輯的是/etc/passwd文件,vigr編輯的是/etc/group文件。我這里雖說寫了出來,但不建議大家用,畢竟是通過直接修改配置文件,文件間的相互關系會出現問題,即使你看起來編輯成功了,但可能出現各種問題,所以特別不建議大家用。
2.pwck和grpck
pwck,grpck:用于檢查password文件和group文件的完整性。
用法:pwck [選項] [passwd [shadow] ],grpck [選項] [group [gshadow] ]
-q:僅報告錯誤
-r:僅顯示錯誤和告警但不修改文件
-s:按照UID進行排序分類
可以看出來pwck是檢查/etc/passwd和/etc/shadow文件的,grpck是檢查/etc/group和/etc/gshadow文件的。
3.getent
getent:查看數據相關信息
用法:getent datebase [key...]
datebase包含shadow,passwd,group,gshadow...這是打開了相應的/etc/下的配置文件。
你可能發現有好多命令選項有相同的用法,這里就做個總結:
添加用戶到組:
useadd -g 主組 -G 附加組... user (創建)
usermod -g mg -G ag... user (修改)
gpasswd -a user ag(添加)
gpasswd -M user... ag (設置)
gpasswd -A user mg (設置) (設置管理員用戶)
goupmems -g 組 -a user (添加)
刪除組中用戶:
gpasswd -d user ag
goupmems -g 組 -d user
給組設置管理員:
gpasswd -A user 主組
指定個人信息:
useradd -c
usermod -c
chfn
指定shell:
useradd -s
usermod -s
chsh -s
以上就是我對用戶和組管理的相關認識,這里就不再舉例,大家可以多加嘗試。有什么寫的不對地方,歡迎提出,謝謝~
總結
以上是生活随笔為你收集整理的linux中查看用户组标识符,Linux用户和组管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle查询等于外的,Oracle
- 下一篇: linux文件和目录管理指令,Linux