用戶飒责、組、權(quán)限管理
用戶和組
1.用戶厌秒、組读拆、家目錄的概念
linux系統(tǒng)支持多用戶,除了管理員鸵闪,其他用戶一般不應(yīng)該使用root檐晕,而是應(yīng)該向管理員申請(qǐng)一個(gè)賬號(hào)。組類似于角色蚌讼,系統(tǒng)可以通過組對(duì)有共性的用戶進(jìn)行統(tǒng)一管理辟灰。每個(gè)用戶應(yīng)該至少屬于一個(gè)組,不能游離于組外篡石;且在創(chuàng)建用戶時(shí)芥喇,系統(tǒng)會(huì)在/home目錄下自動(dòng)生成一個(gè)目錄作為該用戶的“家目錄”,該用戶在登錄后會(huì)首先進(jìn)入家目錄凰萨。家目錄可以在添加用戶時(shí)指定继控,如果不指定,默認(rèn)會(huì)以用戶名來命名胖眷。例如武通,用戶bob的家目錄默認(rèn)是/home/bob,他在登錄linux系統(tǒng)后珊搀,會(huì)首先進(jìn)入/home/bob冶忱。
2.添加用戶
useradd username [-d homePath] [-g groupName]
其中,username為用戶名境析, homePath為家目錄(可選囚枪,不指定時(shí)默認(rèn)為/home目錄下同用戶名),groupName為組名(可選劳淆,不指定時(shí)默認(rèn)為同用戶名)链沼。例如,要新建一個(gè)名為zhangsan的用戶沛鸵,家目錄為/home/zhang3忆植,屬于sales組,命令為:useradd zhangsan -d /home/zhang3 -g sales。
3.設(shè)置或修改用戶密碼
passwd username
其中朝刊,username為要設(shè)置或修改密碼的用戶名耀里,回車之后,會(huì)要求輸入兩次新密碼拾氓。
4.刪除用戶
userdel [-r] username
其中冯挎,username為要?jiǎng)h除的用戶名,-r是可選項(xiàng)咙鞍,表示同時(shí)刪除該用戶的家目錄房官。一般情況下刪除用戶時(shí)并不需要?jiǎng)h除他的家目錄。
5.查看用戶信息
id username
其中续滋,username為要查看的用戶名翰守,回車之后,會(huì)顯示用戶id疲酌、組id等信息蜡峰。
6.切換用戶
su - newUsername
其中,newUsername為要切換的用戶名朗恳,如果是從高權(quán)限用戶切換到低權(quán)限用戶湿颅,例如從root切換到普通用戶,不需要密碼粥诫;反之則需要輸入密碼油航。經(jīng)測(cè)試,切換到用戶本身時(shí)怀浆,從root到root不需要密碼谊囚,從普通用戶到他自己時(shí)需要密碼。
7.添加組
groupadd groupName
其中执赡,groupName為要添加的組名镰踏,注意不能重復(fù)添加同名的組,如果groupName已經(jīng)存在搀玖,會(huì)返回錯(cuò)誤提示余境。
8.刪除組
groupdel groupName
其中驻呐,groupName為要添加的組名灌诅,注意如果這個(gè)組是一個(gè)或多個(gè)用戶的主組,則不能刪除含末。
9.修改用戶所屬的組
usermod -g groupname userName
其中猜拾,groupname為新組名,userName為要修改的用戶名佣盒。
10.修改用戶的家目錄
usermod -d homepath username
其中homepath為新的家目錄挎袜,username為要修改的用戶名。
11.與用戶、組相關(guān)的文件
/etc/passwd:用戶的配置文件盯仪,存放用戶信息紊搪;從左至右:用戶名,密碼(不顯示明文)全景,用戶id耀石,組id,家目錄爸黄,登錄shell滞伟。
/etc/shadow:口令的配置文件,用于存放加密口令炕贵、修改事件梆奈、失效時(shí)間等信息。
/etc/group:組配置文件称开,用于存放組名亩钟、組id。
12.文件與用戶钥弯、組的關(guān)系
一個(gè)用戶創(chuàng)建了一個(gè)文件径荔,則這個(gè)用戶就自動(dòng)成為這個(gè)文件的"所有者",這個(gè)用戶所在的組就成為文件的"所在組"脆霎,除了所有者和所在組的用戶总处,系統(tǒng)中的其他用戶對(duì)于文件都是"其他組"的用戶【χ耄可以通過ls -l命令查看文件的所有者和所在組鹦马。但是文件的所有者和所在組并不是固定不變的,可以修改忆肾。
13.修改文件或目錄的所有者
chown [-R] username source
其中荸频,username為修改后的用戶名,source為文件或目錄的路徑名稱客冈,-R表示級(jí)聯(lián)修改目錄下面的子目錄和文件的所有者旭从。
14.修改文件或目錄的所在組
chgrp [-R] groupname source
其中,groupname為修改后的組名场仲,source為文件或目錄的路徑名稱和悦,-R表示級(jí)聯(lián)修改目錄下面的子目錄和文件的所在組。注意修改文件的所有者和所在組是相互獨(dú)立的事件渠缕,互不影響鸽素。
15.同時(shí)修改文件或目錄的所有者和所在組
chown [-R] username:groupname source
其中,username為修改后的用戶名亦鳞,groupname為修改后的組名棒坏,source為文件或目錄的路徑名稱,-R表示級(jí)聯(lián)修改目錄下面的子目錄和文件的所在組遭笋。這里的用戶和組沒有必然聯(lián)系坝冕,即username不一定要屬于groupname的那個(gè)組。
權(quán)限
1.文件和目錄的權(quán)限簡(jiǎn)介
在目錄和文件管理一節(jié)中我們了解到瓦呼,用ls -l命令可以以列表形式展示當(dāng)前目錄下的子目錄和文件徽诲。但是這個(gè)列表到底展示了哪些信息,上一節(jié)并未詳細(xì)介紹吵血。下面以一個(gè)例子來說明:
家目錄下有一個(gè)animal/目錄谎替,還有一個(gè)description.txt文件,下面用不同顏色來劃分列表字段蹋辅。
drwxr-xr-x. 3 dubhlinn engineer 47 6月 19 22:26 animal
-rw-r--r--. 1 dubhlinn police 52 6月 19 22:25 description.txt
(1) 第一組只有1個(gè)字符钱贯,表示條目的類型:
-:普通文件
d:目錄
l:軟鏈接
c:字符設(shè)備,例如鍵盤侦另、鼠標(biāo)
b:塊文件秩命,例如硬盤;
(2) 第二組有9個(gè)字符,每3個(gè)表達(dá)一個(gè)意思:
第1-3個(gè)表示文件所有者的權(quán)限褒傅,
第4-6個(gè)表示文件所在組的用戶的權(quán)限弃锐,
第7-9個(gè)表示文件其他組的權(quán)限。
那么這些字符代表什么意思呢殿托?總的來說霹菊,r表示可讀,w表示可寫支竹,x表示可執(zhí)行旋廷,但是對(duì)于文件和目錄,表達(dá)的意思又不盡相同礼搁,下面分別描述饶碘。
文件 | 目錄 | |
---|---|---|
- | 無權(quán)限 | 無權(quán)限 |
r | 可以用cat、more馒吴、less等命令查看文件內(nèi)容 | 可以用ls命令查看目錄下的內(nèi)容 |
w | 可以用vi扎运、vim編輯器修改文件,但不代表可刪除 | 可以在目錄內(nèi)增加饮戳、刪除豪治、重命名文件或子目錄 |
x | 可執(zhí)行 | 可以用cd命令進(jìn)入該目錄 |
(3) 第三組是一個(gè)數(shù)字,對(duì)于文件來說是硬鏈接數(shù)莹捡,通常是1鬼吵,對(duì)于目錄是其下的子目錄數(shù)量(包含隱藏子目錄)扣甲。
(4) 第四組表示文件的所有者篮赢。
(5) 第五組表示文件的所在組齿椅。
(6) 第六組是一個(gè)數(shù)字,表示其大小(KB)启泣。
(7) 第七組是日期時(shí)間涣脚,表示文件或目錄的最后修改時(shí)間。
(8) 第八組是文件名或目錄的名字寥茫。
根據(jù)上這些理論知識(shí)遣蚀,我們?cè)賮砜瓷厦娴氖纠?/p>
drwxr-xr-x. 3 dubhlinn engineer 47 6月 19 22:26 animal
這是一個(gè)名為animal的目錄;其所有者有讀纱耻、寫芭梯、執(zhí)行的權(quán)限,其所在組的用戶有讀弄喘、執(zhí)行的權(quán)限玖喘,其他組有讀、執(zhí)行的權(quán)限蘑志;它下面有3個(gè)子目錄累奈;其所有者是dubhlinn,所在組是engineer急但;其大小為47KB澎媒,最后編輯時(shí)間是6月19日22:26。
2.修改文件或目錄的權(quán)限
(1) 使用權(quán)限代碼賦值
chmod role1=auth source
其中波桩,role為角色代碼戒努,可以設(shè)置其中的一個(gè)或多個(gè),多個(gè)角色之間用逗號(hào)(,)分隔且不能有空格镐躲,其取值范圍如下:
u-文件或目錄的所有者柏卤;
g-文件或目錄所在組的用戶;
o-其他用戶匀油;
a-所有用戶缘缚,包含u、g敌蚜、o桥滨,只能單獨(dú)使用。
auth為權(quán)限碼組合弛车,例如讀寫執(zhí)行權(quán)限為rwx齐媒,讀和執(zhí)行權(quán)限為rx,寫權(quán)限為w纷跛,根據(jù)需要選擇喻括。
source為文件或目錄的路徑名稱。
下面是幾個(gè)實(shí)例:
chmod u=rwx,g=rx,o=rx /home/dubhlinn
chmod o=r /home/dubhlinn/description.txt
chmod a=rwx /home/public
(2) 使用加減號(hào)添加或減少權(quán)限
chmod role+auth source
chmod role-auth source
role贫奠、auth唬血、source的含義同上望蜡,同樣可以設(shè)置一個(gè)或多個(gè)角色,以下是幾個(gè)實(shí)例:
chmod u-x,g+rw /home/dubhlinn/description.txt
chmod a+w /home/public
chmod u+rwx,g-x,o-x /home/dubhlinn
(3) 使用數(shù)字賦值
chmod xyz source
其中拷恨,x脖律、y、z是三個(gè)數(shù)字腕侄,分別表示文件或目錄的所有者小泉、所在組的用戶、其他組的用戶的"權(quán)限值"冕杠。
權(quán)限值是這樣計(jì)算的:
r=4
w=2
x=1
將這個(gè)用戶的權(quán)限代碼對(duì)應(yīng)的數(shù)字加起來就是"權(quán)限值"微姊,所以其取值范圍可能是0、1分预、2柒桑、3、4噪舀、5魁淳、6、7与倡。
例如界逛,chmod 754 /home/void 等價(jià)于 chmod u=rwx,g=rx,o=r /home/void