***原文鏈接: https://www.cnblogs.com/fengdejiyixx/p/10773731.html#:~:text=Linux
Linux操作系統(tǒng)對多用戶的管理,是非常繁瑣的谋竖,所以用組的概念來管理用戶就變得簡單,每個用戶可以在一個獨立的組蟆技,每個組也可以有零個用戶或者多個用戶魄懂。
Linux系統(tǒng)用戶是根據(jù)用戶ID來識別的沿侈,默認ID長度為32位,默認ID編號從0開始市栗,但是為了和老式系統(tǒng)兼容缀拭,用戶ID限制在60000以下,Linux用戶總共分為三種填帽,分別如下:
root用戶 (ID 0)
系統(tǒng)用戶 (ID 1-499)
普通用戶 (ID 500以上)
Linux系統(tǒng)中的每個文件或者文件夾蛛淋,都有一個所屬用戶及所屬組,使用id命令可以顯示當前用戶的信息盲赊,使用passwd命令可以修改當前用戶密碼铣鹏。Linux操作系統(tǒng)用戶的特點如下:
每個用戶擁有一個UserID,操作系統(tǒng)實際讀取的是UID哀蘑,而非用戶名诚卸;
每個用戶屬于一個主組,屬于一個或多個附屬組绘迁,一個用戶最多有31個附屬組合溺;
每個組擁有一個GroupID;
每個進程以一個用戶身份運行缀台,該用戶可對進程擁有資源控制權(quán)限棠赛;
每個可登陸用戶擁有一個指定的Shell環(huán)境。
Linux用戶管理
Linux用戶在操作系統(tǒng)可以進行日常管理和維護膛腐,涉及到的相關(guān)配置文件如下:
/etc/passwd
保存用戶信息
/etc/shdaow
保存用戶密碼(以加密形式保存)
/etc/group
保存組信息
/etc/login.defs
用戶屬性限制,密碼過期時間,密碼最大長度等限制
/etc/default/useradd
顯示或更改默認的useradd配置文件
如需創(chuàng)建新用戶睛约,可以使用命令useradd,執(zhí)行命令useradd test1即可創(chuàng)建test1用戶哲身,同時會創(chuàng)建一個同名的組test1辩涝,默認該用戶屬于test1主組。
Useradd test1命令默認創(chuàng)建用戶test1勘天,會根據(jù)如下步驟進行操作:
在/etc/passwd文件中添加用戶信息怔揩;
如使用passwd命令創(chuàng)建密碼,密碼會被加密保存在/etc/shdaow中脯丝;
為test1創(chuàng)建家目錄:/home/test1商膊;
將/etc/skel中的.bash開頭的文件復(fù)制至/home/test1家目錄;
創(chuàng)建與用戶名相同的test1組宠进,test1用戶默認屬于test1同名組晕拆;
test1組信息保存在/etc/group配置文件中。
在使用useradd命令創(chuàng)建用戶時材蹬,可以支持如下參數(shù):
用法:useradd [選項] 登錄
useradd -D
useradd -D [選項]
選項:
-b, --base-dir BASE_DIR 指定新賬戶的家目錄实幕;
-c, --comment COMMENT 新賬戶的 GECOS 字段阱高;
-d, --home-dir HOME_DIR 新賬戶的主目錄;
-D, --defaults 顯示或更改默認的 useradd 配置茬缩;
-e, --expiredate EXPIRE_DATE 新賬戶的過期日期;
-f, --inactive INACTIVE 新賬戶的密碼不活動期吼旧;
-g, --gid GROUP 新賬戶主組的名稱或ID凰锡;
-G, --groups GROUPS 新賬戶的附加組列表;
-h, --help 顯示此幫助信息并推出圈暗;
-k, --skel SKEL_DIR 使用此目錄作為骨架目錄掂为;
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默認值;
-l, --no-log-init 不要將此用戶添加到最近登錄和登錄失敗數(shù)據(jù)庫员串;
-m, --create-home 創(chuàng)建用戶的主目錄勇哗;
-M, --no-create-home 不創(chuàng)建用戶的主目錄;
-N, --no-user-group 不創(chuàng)建同名的組寸齐;
-o, --non-unique 允許使用重復(fù)的 UID 創(chuàng)建用戶欲诺;
-p, --password PASSWORD 加密后的新賬戶密碼;
-r, --system 創(chuàng)建一個系統(tǒng)賬戶渺鹦;
-R, --root CHROOT_DIR chroot 到的目錄扰法;
-s, --shell SHELL 新賬戶的登錄 shell;
-u, --uid UID 新賬戶的用戶 ID毅厚;
-U, --user-group 創(chuàng)建與用戶同名的組塞颁;
-Z, --selinux-user SEUSER 為SELinux 用戶映射使用指定 SEUSER。
Linux組管理
所有的Linux或者Windows系統(tǒng)都有組的概念吸耿,通過組可以更加方便的管理用戶祠锣,組的概念應(yīng)用于各行行業(yè),例如企業(yè)會使用部門咽安、職能或地理區(qū)域的分類方式來管理成員伴网,映射在Linux系統(tǒng),同樣可以創(chuàng)建用戶板乙,并用組的概念對其管理是偷。
Linux組有如下特點:
每個組有一個組ID;
組信息保存在/etc/group中募逞;
每個用戶至少擁有一個主組蛋铆,同時還可以擁有31個附屬組。
通過命令groupadd放接、groupdel刺啦、groupmod來對組進行管理,詳細參數(shù)使用如下:
groupadd用法
-f, --force 如果組已經(jīng)存在則成功退出纠脾;
并且如果 GID 已經(jīng)存在則取消 –g玛瘸;
-g, --gid GID 為新組使用 GID蜕青;
-h, --help 顯示此幫助信息并推出;
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默認值糊渊;
-o, --non-unique 允許創(chuàng)建有重復(fù) GID 的組右核;
-p, --password PASSWORD 為新組使用此加密過的密碼;
-r, --system 創(chuàng)建一個系統(tǒng)賬戶渺绒;
groupmod用法
-g, --gid GID 將組 ID 改為 GID贺喝;
-h, --help 顯示此幫助信息并推出;
-n, --new-name NEW_GROUP 改名為 NEW_GROUP宗兼;
-o, --non-unique 允許使用重復(fù)的 GID躏鱼;
-p, --password PASSWORD 將密碼更改為(加密過的) PASSWORD;
groupdel用法
groupdel admin 刪除admin組殷绍;
二染苛、 Linux權(quán)限管理
Linux權(quán)限是操作系統(tǒng)用來限制對資源訪問的機制,權(quán)限一般分為讀主到、寫茶行、執(zhí)行。系統(tǒng)中每個文件都擁有特定的權(quán)限镰烧、所屬用戶及所屬組拢军,通過這樣的機制來限制哪些用戶或用戶組可以對特定文件進行相應(yīng)的操作。
Linux每個進程都是以某個用戶身份運行怔鳖,進程的權(quán)限與該用戶的權(quán)限一樣茉唉,用戶的權(quán)限越大,則進程擁有的權(quán)限就越大结执。
Lnux中有的文件及文件夾都有至少權(quán)限三種權(quán)限度陆,常見的權(quán)限如表5-1所示:
Linux權(quán)限授權(quán),默認是授權(quán)給三種角色献幔,分別是user操刀、group强品、other,Linux權(quán)限與用戶之間的關(guān)聯(lián)如下:
U代表User,G代表Group太防,O代表Other谈撒;
每個文件的權(quán)限基于UGO進行設(shè)置蚕捉;
權(quán)限三位一組(rwx)律胀,同時需授權(quán)給三種角色,UGO情连;
每個文件擁有一個所屬用戶和所屬組叽粹,對應(yīng)UGO,不屬于該文件所屬用戶或所屬組使用O來表示;
在Linux系統(tǒng)中虫几,可以通過ls –l查看peter.net目錄的詳細屬性锤灿,如圖5-1所示:
|
drwxrwxr-x 2 peter1 peter1 4096 Dec 10 01:36 peter.net
|
peter.net目錄屬性參數(shù)詳解如下:
d 表示目錄,同一位置如果為-則表示普通文件辆脸;
rwxrwxr-x 表示三種角色的權(quán)限但校,每三位為一種角色,依次為u啡氢,g始腾,o權(quán)限,如上則表示user的權(quán)限為rwx空执,group的權(quán)限為rwx,other的權(quán)限為r-x穗椅;
2表示文件夾的鏈接數(shù)量辨绊,可理解為該目錄下子目錄的數(shù)量;
從左到右匹表,第一個peter1表示該用戶名门坷,第二個peter1則為組名,其他人角色默認不顯示袍镀;
4096表示該文件夾占據(jù)的字節(jié)數(shù)默蚌;
Dec 10 01:36 表示文件創(chuàng)建或者修改的時間;
peter.net 為目錄的名苇羡,或者文件名绸吸。
peter.net目錄屬性參數(shù)詳解如下:
d 表示目錄,同一位置如果為-則表示普通文件设江;
rwxrwxr-x 表示三種角色的權(quán)限锦茁,每三位為一種角色,依次為u叉存,g码俩,o權(quán)限,如上則表示user的權(quán)限為rwx歼捏,group的權(quán)限為rwx稿存,other的權(quán)限為r-x;
2表示文件夾的鏈接數(shù)量瞳秽,可理解為該目錄下子目錄的數(shù)量瓣履;
從左到右,第一個peter1表示該用戶名寂诱,第二個peter1則為組名拂苹,其他人角色默認不顯示;
4096表示該文件夾占據(jù)的字節(jié)數(shù);
Dec 10 01:36 表示文件創(chuàng)建或者修改的時間瓢棒;
peter.net 為目錄的名浴韭,或者文件名。
Chmod用戶及組權(quán)限
修改某個用戶脯宿、組對文件夾的權(quán)限念颈,用命令chmod實現(xiàn),其中以代指ugo连霉,榴芳、-、=代表加入跺撼、刪除和等于對應(yīng)權(quán)限窟感,具體案例如下:
(1) 授予用戶對peter.net目錄擁有rwx權(quán)限
|
chmod –R u+rwx peter.net
|
(2) 授予組對peter.net目錄擁有rwx權(quán)限
|
chmod –R g+rwx peter.net
|
(3) 授予用戶、組歉井、其他人對jpeter.net目錄擁有rwx權(quán)限
|
chmod –R u+rwx,g+rwx,o+rwx peter.net
|
(4) 撤銷用戶對peter.net目錄擁有w權(quán)限
|
chmod –R u-w peter.net
|
(5) 撤銷用戶柿祈、組、其他人對peter.net目錄擁有x權(quán)限
|
chmod –R u-x,g-x,o-x peter.net
|
(6) 授予用戶哩至、組躏嚎、其他人對jpeter.net目錄只有rx權(quán)限
|
chmod –R u=rx,g=rx,o=rx peter.net
|
Chmod二進制權(quán)限
Linux權(quán)限默認使用rwx來表示,為了更簡化在系統(tǒng)中對權(quán)限進行配置和修改菩貌,Linux權(quán)限引入二進制表示方法卢佣,如下代碼:
|
Linux權(quán)限可以將rwx用二進制來表示,其中有權(quán)限用1表示箭阶,沒有權(quán)限用0表示虚茶;
Linux權(quán)限用二進制顯示如下:
rwx=111
r-x=101
rw-=110
r--=100
依次類推,轉(zhuǎn)化為十進制仇参,對應(yīng)十進制結(jié)果顯示如下:
rwx=111=4+2+1=7
r-x=101=4+0+1=5
rw-=110=4+4+0=6
r--=100=4+0+0=4
得出結(jié)論媳危,用r=4,w=2,x=1來表示權(quán)限。
|
使用二進制方式來修改權(quán)限案例演示如下冈敛,其中默認peter.nett目錄權(quán)限為755:
(1) 授予用戶對peter.net目錄擁有rwx權(quán)限
|
chmod –R 755 peter.net
|
(2) 授予組對peter.net目錄擁有rwx權(quán)限
|
chmod –R 775 peter.net
|
(3) 授予用戶待笑、組、其他人對peter.net目錄擁有rwx權(quán)限
|
chmod –R 777 peter.net
|
Linux特殊權(quán)限及掩碼
Linux權(quán)限除了常見的rwx權(quán)限之外抓谴,還有很多特殊的權(quán)限暮蹂,細心的讀者會發(fā)現(xiàn),為什么Linux目錄默認權(quán)限755癌压,而文件默認權(quán)限為644呢仰泻,這是因為Linux權(quán)限掩碼umask導(dǎo)致。
每個Linux終端都擁有一個umask屬性滩届,umask熟悉可以用來確定新建文件集侯、目錄的默認權(quán)限,默認系統(tǒng)權(quán)限掩碼為022。在系統(tǒng)中每創(chuàng)建一個文件或者目錄棠枉,文件默認權(quán)限是666浓体,而目錄權(quán)限則為777,權(quán)限對外開放比較大辈讶,所以設(shè)置了權(quán)限掩碼之后命浴,默認的文件和目錄權(quán)限減去umask值才是真實的文件和目錄的權(quán)限。
對應(yīng)目錄權(quán)限為:777-022=755贱除;
對應(yīng)文件權(quán)限為:666-022=644生闲;
執(zhí)行umask命令可以查看當前默認的掩碼,umask -S 023可以設(shè)置默認的權(quán)限掩碼月幌。
在Linux權(quán)限中碍讯,除了普通權(quán)限外,還有如下表5-2所示扯躺,三個特殊權(quán)限:
|
權(quán)限
|
對文件的影響
|
對目錄的影響
|
|
Suid
|
以文件的所屬用戶身份執(zhí)行冲茸,而非執(zhí)行文件的用戶
|
無
|
|
sgid
|
以文件所屬組身份去執(zhí)行
|
在該目錄中創(chuàng)建任意新文件的所屬組與該目錄的所屬組相同
|
|
sticky
|
無
|
對目錄擁有寫入權(quán)限的用戶僅可以刪除其擁有的文件,無法刪除其他用戶所擁有的文件
|
表5-2 Linux三種特殊權(quán)限
Linux中設(shè)置特殊權(quán)限方法如下:
q 設(shè)置suid: chmod u+s peter.net
q 設(shè)置sgid: chmod g+s peter.net
q 設(shè)置sticky: chmod o+t peter.net
特殊權(quán)限與設(shè)置普通權(quán)限一樣缅帘,可以使用數(shù)字方式表示:
SUID = 4
SGID = 2
Sticky = 1
可以通過chmod 4755 peter.net對該目錄授予特殊權(quán)限為s的權(quán)限,Linux系統(tǒng)中s權(quán)限的應(yīng)用常見包括:su难衰、passwd钦无、sudo,
本章小結(jié)
通過對本章內(nèi)容的介紹盖袭,讀者可以了解Linux用戶和組的系統(tǒng)知識失暂,同時賬號Linux用戶和組在系統(tǒng)中各種案例操作。讀者可以熟練新建用戶鳄虱、刪除用戶弟塞、修改用戶屬性、添加組拙已、修改組以及刪除組决记。