第一次寫(xiě)博客因培訓(xùn)老師建議寫(xiě)博客增強(qiáng)自己的學(xué)習(xí)能力,我也覺(jué)得有些道理,及開(kāi)通博客,嘗試寫(xiě)一下。
也希望大??吹讲灰獓姽?,歡迎指導(dǎo),謝謝。
1、用戶(hù)
每個(gè)用戶(hù)即為每個(gè)使用者,對(duì)應(yīng)的一組用戶(hù)標(biāo)識(shí)碼、密碼 從而識(shí)別為一個(gè)用戶(hù)。
而組即為用戶(hù)的一個(gè)容器,讓用戶(hù)裝在里面。
用戶(hù)類(lèi)別分為兩種:管理員與普通用戶(hù)。
普通用戶(hù)有:
系統(tǒng)用戶(hù)
登錄用戶(hù)
用戶(hù)標(biāo)識(shí):userID,UID:
因?yàn)闄C(jī)器需要識(shí)別用戶(hù) 但是機(jī)器只認(rèn)數(shù)字所以有了UID
UID由16位二進(jìn)制數(shù)字組成表示0-65535 共65536個(gè)
其中管理員為0
普通用戶(hù)為1-65535
其中普通用戶(hù)中的系統(tǒng)用戶(hù)在centos6中為1-499,centos7中為1-999
登錄用戶(hù)在centos6中為500-60000,centos7中為1000-60000
但是這個(gè)不利于人的記憶,人容易記住的是字符串,但是機(jī)器識(shí)別不了所以有了名稱(chēng)解析用來(lái)轉(zhuǎn)換username與uid,所以linux有個(gè)解析庫(kù)就用來(lái)查找username與uid之間的轉(zhuǎn)換,/etc/passwd
2、組
同樣的組也分兩類(lèi):管理員組和普通用戶(hù)組
普通用戶(hù)組也分:
系統(tǒng)組
登陸組
組標(biāo)識(shí):groupID,GID
與用戶(hù)標(biāo)識(shí)相同
同樣的也有名稱(chēng)解析,解析庫(kù)為/etc/group
第二種組類(lèi)別分法,即用戶(hù)的基本組和附加組,一個(gè)用戶(hù)可以在多個(gè)組里面,但有個(gè)最主要的組就叫基本組,在的其他組就是附加組。就如同你本身在這個(gè)1部門(mén)工作,臨時(shí)去2部門(mén)幫忙1就是你的基本組2就是你的附加組
第三種組類(lèi)別分法,私有組和公共組,私有組表示與用戶(hù)同名且組內(nèi)只有這一個(gè)用戶(hù)即為私有組,公共組則表示有多個(gè)用戶(hù)存在,但這個(gè)分法沒(méi)有實(shí)際意義。
3、安全上下文
進(jìn)程會(huì)以發(fā)起者的身份運(yùn)行;
進(jìn)程對(duì)文件的訪問(wèn)權(quán)限,取決與發(fā)起此進(jìn)程的用戶(hù)權(quán)限,即這個(gè)進(jìn)程能做什么取決于用戶(hù)權(quán)限有什么;
系統(tǒng)用戶(hù):
講到安全上下文就要說(shuō)到我們一開(kāi)機(jī)即會(huì)啟動(dòng)一大堆的進(jìn)程,那這些進(jìn)程都是以什么身份啟動(dòng),這就是系統(tǒng)用戶(hù)的作用,為了讓后臺(tái)進(jìn)程或服務(wù)類(lèi)進(jìn)程以非管理員的身份運(yùn)行,且通常一個(gè)用戶(hù)只干一件事,所以通常需要為此創(chuàng)建多個(gè)系統(tǒng)用戶(hù);但是這類(lèi)用戶(hù)從不用登錄系統(tǒng);
3、用戶(hù)與組的常用命令
groupadd:添加組;
用法:group [選項(xiàng)] group_name
選項(xiàng):
-g:指定GID;沒(méi)有指定即默認(rèn)為上一個(gè)添加的組的GID+1;
-r:創(chuàng)建系統(tǒng)組;
groupmod:修改組屬性
groupmod [選項(xiàng)] GROUP
-g:修改GID;
-n:修改組名;
groupdel命令:刪除組
groupdel [選項(xiàng)] GROUP
useradd [選項(xiàng)] 登錄名
-u, --uid UID:指定UID;
-g, --gid GROUP:指定基本組ID,此組得事先存在;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指明用戶(hù)所屬的附加組,多個(gè)組之間用逗號(hào)分隔;
-c, --comment COMMENT:指明注釋信息;
-d, --home HOME_DIR:以指定的路徑為用戶(hù)的家目錄;通過(guò)復(fù)制/etc/skel此目錄并重命名實(shí)現(xiàn);指定的家目錄路徑如果事先存在,則不會(huì)為用戶(hù)復(fù)制環(huán)境配置文件;
-s, --shell SHELL:指定用戶(hù)的默認(rèn)shell,可用的所有shell列表存儲(chǔ)在/etc/shells文件中;
-r, --system:創(chuàng)建系統(tǒng)用戶(hù);
注意:直接useradd默認(rèn)屬性創(chuàng)建的用戶(hù)諸多默認(rèn)設(shè)定配置文件為/etc/login.defs
useradd -D:顯示創(chuàng)建用戶(hù)的默認(rèn)配置;
useradd -D [選項(xiàng)]: 修改默認(rèn)選項(xiàng)的值;
修改的結(jié)果保存于/etc/default/useradd文件中;
usermod命令:修改用戶(hù)屬性
usermod [選項(xiàng)] 登錄
-u, --uid UID:修改用戶(hù)的ID為此處指定的新UID;
-g, --gid GROUP:修改用戶(hù)所屬的基本組;
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用戶(hù)所屬的附加組;原來(lái)的附加組會(huì)被覆蓋;
-a, --append:與-G一同使用,用于為用戶(hù)追加新的附加組;
-c, --comment COMMENT:修改注釋信息;
-d, --home HOME_DIR:修改用戶(hù)的家目錄;用戶(hù)原有的文件不會(huì)被轉(zhuǎn)移至新位置;
-m, --move-home:只能與-d選項(xiàng)一同使用,用于將原來(lái)的家目錄移動(dòng)為新的家目錄;
-l, --login NEW_LOGIN:修改用戶(hù)名;
-s, --shell SHELL:修改用戶(hù)的默認(rèn)shell;
-L, --lock:鎖定用戶(hù)密碼;即在用戶(hù)原來(lái)的密碼字符串之前添加一個(gè)"!";
-U, --unlock:解鎖用戶(hù)的密碼;
userdel命令:刪除用戶(hù)
userdel [選項(xiàng)] 登錄
-r:刪除用戶(hù)時(shí)一并刪除其家目錄;
passwd命令:
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
(1) passwd:修改用戶(hù)自己的密碼;
(2) passwd USERNAME:修改指定用戶(hù)的密碼,但僅root有此權(quán)限;
-l, -u:鎖定和解鎖用戶(hù);
-d:清除用戶(hù)密碼串;
-e DATE: 過(guò)期期限,日期;
-i DAYS:非活動(dòng)期限;
-n DAYS:密碼的最短使用期限;
-x DAYS:密碼的最長(zhǎng)使用期限;
-w DAYS:警告期限;
--stdin:以標(biāo)準(zhǔn)輸出修改密碼
echo "PASSWORD" | passwd --stdin USERNAME
gpasswd命令:
組密碼文件:/etc/gshadow
gpasswd [選項(xiàng)] group
-a USERNAME:向組中添加用戶(hù)
-d USERNAME:從組中移除用戶(hù)
newgrp命令:臨時(shí)切換指定的組為基本組;
newgrp [-] [group]
-: 會(huì)模擬用戶(hù)重新登錄以實(shí)現(xiàn)重新初始化其工作環(huán)境;
chage命令:更改用戶(hù)密碼過(guò)期信息
chage [選項(xiàng)] 登錄名
-d
-E
-W
-m
-M
id命令:顯示用戶(hù)的真和有效ID;
id [OPTION]... [USER]
-u: 僅顯示有效的UID;
-g: 僅顯示用戶(hù)的基本組ID;
-G:僅顯示用戶(hù)所屬的所有組的ID;
-n: 顯示名字而非ID;
su命令:switch user
登錄式切換:會(huì)通過(guò)讀取目標(biāo)用戶(hù)的配置文件來(lái)重新初始化
su - USERNAME
su -l USERNAME
非登錄式切換:不會(huì)讀取目標(biāo)用戶(hù)的配置文件進(jìn)行初始化
su USERNAME
注意:管理員可無(wú)密碼切換至其它任何用戶(hù);
-c 'COMMAND':僅以指定用戶(hù)的身份運(yùn)行此處指定的命令;
權(quán)限管理:
文件權(quán)限分為三類(lèi):
屬主:即一個(gè)用戶(hù),這個(gè)用戶(hù)對(duì)這個(gè)文件的權(quán)限
屬組:即一個(gè)組,在這個(gè)組之下的用戶(hù)對(duì)這個(gè)文件的權(quán)限
其他:即除了屬主與屬組以外的用戶(hù)對(duì)這個(gè)文件的權(quán)限
前面有講到安全上下文是一個(gè)進(jìn)程對(duì)文件的權(quán)限取決于發(fā)起這個(gè)用戶(hù)的權(quán)限,那他對(duì)文件訪問(wèn)權(quán)限的應(yīng)用模型是什么呢:
進(jìn)程的屬主與文件的屬主是否相同;如果相同,則應(yīng)用屬主權(quán)限;
否則,則檢查進(jìn)程的屬主是否屬于文件的屬組;如果是,則應(yīng)用屬組權(quán)限;
否則,就只能應(yīng)用other的權(quán)限;
權(quán)限:
我們隨便ls -l一個(gè)文件-rwxrw-r--. 1 root root 第一個(gè)-表示文件類(lèi)型 后面9位表示擁有的權(quán)限,
-則代表沒(méi)有這個(gè)權(quán)限,rwx分代表一個(gè)權(quán)限,第一個(gè)root表示他的屬主,第二代表他的屬組
左三位:定義user(owner)的權(quán)限
中三位:定義group的權(quán)限;
右三位:定義other的權(quán)限
文件權(quán)限:
r:readable, 讀
w:writable, 寫(xiě)
x:excutable,執(zhí)行
注意:文件默認(rèn)沒(méi)有執(zhí)行權(quán)限,如果文件不是可執(zhí)行文件任何用戶(hù)不能擁有執(zhí)行權(quán)限,否則可能會(huì)報(bào)錯(cuò)!
目錄權(quán)限:
r:可使用ls命令獲取其下的所有文件列表;
w: 可修改此目錄下的文件列表;即創(chuàng)建或刪除文件;
x: 可cd至此目錄中,且可使用ls -l來(lái)獲取所有文件的詳細(xì)屬性信息;
這些位數(shù)固定,顯示字母則代表有這個(gè)權(quán)限,顯示-則代表沒(méi)有,譬如rw-r--r--則代表屬主擁有寫(xiě)和讀的權(quán)限屬組和其他則只有讀權(quán)限
每三位代表一類(lèi)用戶(hù)的權(quán)限r(nóng)wx 因?yàn)檫@個(gè)有就是有沒(méi)有就是-所以我們也可以以二進(jìn)制0代表沒(méi)有,
1代表有組成一個(gè)三位二進(jìn)制數(shù),所以可以用這三位二進(jìn)制把權(quán)限表示為7種情況
權(quán)限組合機(jī)制:
--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7
結(jié)合我們的三種用戶(hù)類(lèi)型一起譬如rw-rw-r--則可以表示為660
權(quán)限管理命令:
chmod命令:
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
三類(lèi)用戶(hù):
u:屬主
g:屬組
o:其它
a: 所有
(1) chmod [OPTION]... MODE[,MODE]... FILE...
MODE表示法:
賦權(quán)表示法:直接操作一類(lèi)用戶(hù)的所有權(quán)限位rwx;
u=
g=
o=
a=
授權(quán)表示法:直接操作一類(lèi)用戶(hù)的一個(gè)權(quán)限位r,w,x;
u+, u-
g+, g-
o+, o-
a+, a-
(2) chmod [OPTION]... OCTAL-MODE FILE...
(3) chmod [OPTION]... --reference=RFILE FILE...
選項(xiàng):
-R, --recursive:遞歸修改
注意:用戶(hù)僅能修改屬主為自己的那些文件的權(quán)限;
從屬關(guān)系管理命令:chown, chgrp
chown命令:
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
選項(xiàng):
-R:遞歸修改
chgrp命令:
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
注意:僅管理員可修改文件的屬主和屬組;
到了這里我們會(huì)發(fā)現(xiàn)那我們會(huì)想說(shuō)那直接創(chuàng)建一個(gè)文件或目錄它會(huì)直接有一個(gè)權(quán)限,那這個(gè)權(quán)限是怎么來(lái)的呢
linux自帶有一個(gè)umask:文件權(quán)限的反向掩碼;創(chuàng)建文件會(huì)使用這個(gè)掩碼來(lái)得出文件的權(quán)限
文件:
666-umask
目錄:
777-umask
之所以文件是用666去減是因?yàn)椋懊嬲f(shuō)了文件默人不能擁有執(zhí)行權(quán)限;
那如果說(shuō)比如666-023是等于643?因?yàn)槟J(rèn)沒(méi)有執(zhí)行權(quán)限所以如果結(jié)果中有執(zhí)行權(quán)限就將結(jié)果加1,所以前面的為644;
umask命令:
umask:查看當(dāng)前umask
umask MASK: 設(shè)置umask
注意:此類(lèi)設(shè)定僅對(duì)當(dāng)前shell進(jìn)程有效;
以上就是我對(duì)Linux用戶(hù)與組管理權(quán)限的了解,剛剛學(xué)習(xí),寫(xiě)的不好請(qǐng)指導(dǎo);
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。