摘要:用切換賬戶的組,分別練習(xí),,,命令,顯示當(dāng)前賬戶的信息二權(quán)限管理是多用戶的操作系統(tǒng),允許多個(gè)用戶同時(shí)在系統(tǒng)上登錄和工作。
前言
只有光頭才能變強(qiáng)
回顧前面:
看完這篇Linux基本的操作就會(huì)了
沒(méi)想到上一篇能在知乎獲得千贊呀,Linux也快期末考試了,也有半個(gè)月沒(méi)有寫文章了。這篇主要將Linux下的用戶和權(quán)限知識(shí)點(diǎn)再整理一下。
那么接下來(lái)就開始吧,如果文章有錯(cuò)誤的地方請(qǐng)大家多多包涵,不吝在評(píng)論區(qū)指正哦~
一、Linux下的用戶Linux是一個(gè)多用戶的系統(tǒng),我們可以多個(gè)用戶同時(shí)登陸Linux~
賬戶實(shí)質(zhì)上就是一個(gè)用戶在系統(tǒng)上的標(biāo)識(shí)。
Linux中的賬戶包括
用戶賬戶
普通用戶賬戶:在系統(tǒng)上的任務(wù)是進(jìn)行普通工作
超級(jí)用戶賬戶(或管理員賬戶):在系統(tǒng)上的任務(wù)是對(duì)普通用戶和整個(gè)系統(tǒng)進(jìn)行管理。
組賬戶(組是用戶的集合)
標(biāo)準(zhǔn)組:標(biāo)準(zhǔn)組可以容納多個(gè)用戶
私有組:私有組中只有用戶自己
當(dāng)一個(gè)用戶同屬于多個(gè)組時(shí),將這些組分為
主組(初始組):用戶登錄系統(tǒng)時(shí)的組。
附加組:登錄后可切換的其他組
上面也說(shuō)了,賬戶的實(shí)質(zhì)上就是用戶在系統(tǒng)上的標(biāo)識(shí),這些標(biāo)識(shí)是用文件保存起來(lái)的:
用戶名和 UID 被保存在 /etc/passwd 文件中,文件權(quán)限 (-rw-r--r--)
組和GID 被保存在 /etc/group 文件中,文件權(quán)限 (-r--------)
用戶口令(密碼)被保存在 /etc/shadow文件中 ,文件權(quán)限 (-rw-r--r-- )
組口令被保存在 /etc/gshadow文件中 ,文件權(quán)限 (-r--------)
也就是說(shuō):我們創(chuàng)建的用戶,這個(gè)用戶的信息由不同的文件來(lái)保存著。
有了上面的知識(shí)點(diǎn),下面我來(lái)簡(jiǎn)述一下創(chuàng)建用戶的時(shí)候會(huì)發(fā)生什么:
用戶名和 UID 被保存在 /etc/passwd 這個(gè)文件中,用戶的口令通常用shadow passwords保護(hù)
當(dāng)用戶登錄時(shí),他們被分配了一個(gè)主目錄和一個(gè)運(yùn)行的程序(通常是 shell)
若沒(méi)有指定他所屬于的組,RHEL/CentOS就建立一個(gè)和該用戶同名的私有組,且用戶被分配到這個(gè)私有組中
再來(lái)回顧一下:賬戶的實(shí)質(zhì)上就是用戶在系統(tǒng)上的標(biāo)識(shí),這些標(biāo)識(shí)是用文件保存起來(lái)的。也就是說(shuō):我們是可以直接編輯修改系統(tǒng)賬戶文件來(lái)維護(hù)賬戶。
但是不建議這樣做,如果明確要這樣做的話,最好使用命令檢測(cè)一下你編輯的語(yǔ)法是否有問(wèn)題:
pwck:驗(yàn)證用戶賬號(hào)文件,認(rèn)證信息的完整性。該命令檢測(cè)文件“/etc/passwd”和“/etc/shadow” 的每行中字段的格式和值是否正確
grpck :驗(yàn)證組賬號(hào)文件,認(rèn)證信息的完整性。該命令檢測(cè)文件“/etc/group”和“/etc/gshadow”的每行中字段的格式和值是否正確。
既然不建議我們直接編輯文件的方式來(lái)管理用戶,那么Linux是肯定有現(xiàn)成的命令給我們使用的:
1.1管理Linux用戶的命令用戶管理:
useradd
usermod
userdel
組管理:
groupadd
groupmod
groupdel
批量管理用戶:
成批添加/更新一組賬戶:newusers
成批更新用戶的口令:chpasswd
組成員管理:
向標(biāo)準(zhǔn)組中添加用戶
gpasswd -a <用戶賬號(hào)名> <組賬號(hào)名>
usermod -G <組賬號(hào)名> <用戶賬號(hào)名>
從標(biāo)準(zhǔn)組中刪除用戶
gpasswd -d <用戶賬號(hào)名> <組賬號(hào)名>
口令維護(hù)(禁用、恢復(fù)和刪除用戶口令):
設(shè)置用戶口令:
passwd?[<用戶賬號(hào)名>]
禁用用戶賬戶口令
passwd -l <用戶賬號(hào)名>
查看用戶賬戶口令狀態(tài)
passwd -S <用戶賬號(hào)名>
恢復(fù)用戶賬戶口令
passwd -u <用戶賬號(hào)名>
清除用戶賬戶口令
passwd -d <用戶賬號(hào)名>
口令時(shí)效設(shè)置:
修改 /etc/login.defs 的相關(guān)配置參數(shù)
設(shè)置已存在用戶的口令時(shí)效:
chage命令
用戶切換命令:
su
直接切換為超級(jí)用戶
sudo
直接使用 sudo 命令前綴執(zhí)行系統(tǒng)管理命令。執(zhí)行系統(tǒng)管理命令時(shí)無(wú)需知道超級(jí)用戶的口令,使用普通用戶自己的口令即可
更多資料查詢:
https://www.cnblogs.com/slgkaifa/p/6852884.html--linux權(quán)限之su和sudo的差別
用戶相關(guān)的命令:
id:顯示用戶當(dāng)前的uid、gid和用戶所屬的組列表
groups:顯示指定用戶所屬的組列表
whoami:顯示當(dāng)前用戶的名稱
w/who:顯示登錄用戶及相關(guān)信息
newgrp:用于轉(zhuǎn)換用戶的當(dāng)前組到指定的組賬號(hào),用戶必須屬于該組才可以正確執(zhí)行該命令
1.2Linux用戶的練習(xí)題用cat命令,觀察如下文件:/etc/passwd , /etc/shadow, /etc/group,/etc/gshadow;顯示useradd命令添加用戶參數(shù)的默認(rèn)值
建立linux賬戶jkXX(XX為學(xué)生學(xué)號(hào)末兩位),要求用戶組為users,并設(shè)置密碼;觀察/etc/passwd和/etc/shadow文件的變化;退出root賬戶,用jkXX賬戶登錄,在其主目錄下建立一個(gè)myfirst文件,并用長(zhǎng)格式列出myfirst文件
用root賬戶登錄;添加組jsj;設(shè)置用戶jkXX為jsj組用戶,觀察/etc/passwd、/etc/group和/etc/gshadow文件變化
添加一個(gè)新用戶airXX(XX為學(xué)生學(xué)號(hào)末兩位),觀察新用戶airXX的用戶id和組id;然后刪除該用戶,注意不要在命令中加選項(xiàng),觀察用戶文件和組文件的變化;觀察airXX用戶的目錄是否存在;
shadow文件中密碼為*號(hào)和?。〈硎裁??
答:*代表賬戶禁用;?。?/b>代表密碼鎖定。
airXX用戶組id是多少?這個(gè)組是什么類型的組?這樣做有什么好處?
答:air08用戶組id是501,這個(gè)組屬于私有組。每個(gè)未指定組的用戶會(huì)建立一個(gè)同名的組,這樣的組稱為私有組,只有一個(gè)用戶,既有利于防止信息泄露,也也有利于防止不合理的授權(quán)。總之,有利于安全管理。
默認(rèn)情況下刪除用戶,但卻保留了用戶的主目錄,這樣做有什么好處?
答:保留用戶目錄,防止將用戶目錄下有價(jià)值的資料誤刪除。
用cat命令,觀察文件/etc/passwd;仿照passwd文件的格式,用vi編輯一個(gè)新的文件,文件名為userXX(XX為學(xué)生學(xué)號(hào)末兩位),文件包括3條記錄,用戶名分別為jkXX(XX為學(xué)生學(xué)號(hào)末兩位),peter,jason,他們的用戶id大于1000,組id大于1000,要求peter和jason同組;用命令newusers根據(jù)文件userXX的內(nèi)容批量生成用戶;觀察/etc/passwd文件的變化。
用cat命令,觀察文件/etc/shadow;用vi編輯一個(gè)新文件,文件名為mimaXX(XX為學(xué)生學(xué)號(hào)末兩位),文件包括3條記錄,每條記錄用戶名與上一步驟要求相同,密碼自行設(shè)置,用戶名和密碼用冒號(hào):隔開;用命令chpasswd根據(jù)文件mimaXX的內(nèi)容批量生成密碼;觀察文件/etc/shadow變化;用命令chpasswd -m再次批量生成密碼,觀察文件/etc/shadow變化;
退出root賬戶,用jkXX賬戶登錄。退出jkXX賬戶,返回root賬戶,觀察/etc/shadow文件;用passwd命令鎖定用戶jkXX,觀察/etc/shadow文件變化;然后退出root賬戶,用jkXX賬戶登錄,是否成功?
用chage命令查看peter賬戶的時(shí)間設(shè)置;重新設(shè)置peter賬戶的時(shí)間,要求兩天內(nèi)不能更改口令,且口令最長(zhǎng)的存活期為 90 天,并在口令過(guò)期前 5 天通知用戶,口令超期7天密碼失效;用chage命令再次查看peter賬戶的時(shí)間設(shè)置
用root賬戶登錄;用su切換到j(luò)ason賬戶;用cd進(jìn)入用戶主目錄;創(chuàng)建一個(gè)新文件abc,用長(zhǎng)格式列出abc文件;觀察文件的用戶和組的屬性
鎖定賬戶后,shadow文件發(fā)生了什么變化?
答:鎖定賬戶的密碼之前會(huì)鎖定標(biāo)志??!
用su切換用戶后,建立的新文件文件屬于哪個(gè)用戶?
答:新文件屬于切換之后的用戶。
兩次執(zhí)行chpasswd命令,結(jié)果是否相同?加密算法md5和sha512哪個(gè)更安全?
答:兩次執(zhí)行chpasswd命令結(jié)果不同,默認(rèn)情況采用sha512加密算法;-m選項(xiàng)時(shí),采用md5加密算法;sha512更安全,因?yàn)榧用苄畔㈤L(zhǎng)度更長(zhǎng),破解計(jì)算量大。
建立三個(gè)普通用戶賬戶,要求如下:用戶名分別為jkXX(XX為學(xué)生學(xué)號(hào)末兩位),peter,jason,其中jkXX和jason為相同普通組成員;觀察/etc/passwd文件的變化。為jkXX賬戶添加root組;
分別練習(xí)id,groups,whoami,who命令,顯示當(dāng)前賬戶的信息;用su命令切換到j(luò)kXX賬戶,分別練習(xí)id,groups,whoami,who命令,顯示當(dāng)前賬戶的信息。用newgrp切換jkXX賬戶的組,分別練習(xí)id,groups,whoami,who命令,顯示當(dāng)前賬戶的信息二、權(quán)限管理
Linux是多用戶的操作系統(tǒng),允許多個(gè)用戶同時(shí)在系統(tǒng)上登錄和工作。 為了確保系統(tǒng)和用戶的安全,Linux自然就有自己一套的權(quán)限管理機(jī)制了!
相信用過(guò)Linux的同學(xué)在檢索文件夾文件的時(shí)候常常用到ls -l 的命令,會(huì)出來(lái)一大串的數(shù)據(jù)。這些數(shù)據(jù)你能讀懂了嗎?
例如:
drwxr-xr-x 3 osmond osmond 4096 05-16 13:32 nobp
其實(shí)很簡(jiǎn)單:
其實(shí)我們看權(quán)限就是看drwxr-xr-x這么一串東西,看起來(lái)很復(fù)雜,但不是的,一下就可以理解了。我們來(lái)分解一下:
這9個(gè)字符每3個(gè)一組,組成 3 套 權(quán)限控制
第一套控制文件所有者的訪問(wèn)權(quán)限
第二套控制所有者所在用戶組的其他成員的訪問(wèn)權(quán)限
第三套控制系統(tǒng)其他用戶的訪問(wèn)權(quán)限
rwx分別代表的意思:
看到這里來(lái),如果前面的你看懂了,那drwxr-xr-x這么一串東西我覺得你很容易就能理解了:
d是文件夾,后面還有9個(gè)字母,每3個(gè)分成一組,-號(hào)表示沒(méi)有。那么這個(gè)文件夾的權(quán)限就是:
對(duì)當(dāng)前用戶是可讀可寫可執(zhí)行,對(duì)同組的用戶是可讀可執(zhí)行,對(duì)其他的用戶是可讀可執(zhí)行
是不是很簡(jiǎn)單??r-read,w-write,x-execute,很好理解的。
對(duì)于這些rwx命令為了方便還可以換成八進(jìn)制的數(shù)據(jù)來(lái)表示,我相信大家看完下面的demo也知道其實(shí)就這么一回事了:
權(quán)限的優(yōu)先順序:
如果UID匹配,就應(yīng)用用戶屬主(user)權(quán)限
否則,如果GID匹配,就應(yīng)用組(group)權(quán)限
如果都不匹配,就應(yīng)用其它用戶(other)權(quán)限
超級(jí)用戶root具有一切權(quán)限,無(wú)需特殊說(shuō)明
2.1管理Linux權(quán)限的常用命令
chmod
改變文件或目錄的權(quán)限
chown
改變文件或目錄的屬主(所有者)
chgrp
改變文件或目錄所屬的組
umask
設(shè)置文件的缺省生成掩碼
例子:
2.2權(quán)限擴(kuò)展知識(shí)上面提到了umask屬性,它用來(lái)做這樣的東西的:默認(rèn)生成掩碼告訴系統(tǒng)當(dāng)創(chuàng)建一個(gè)文件或目錄時(shí)不應(yīng)該賦予其哪些權(quán)限。
默認(rèn)的umask的值是022,我們看一下下面的例子應(yīng)該就能懂了:
除了上面所說(shuō)的權(quán)限之外,Linux還提供了三種特殊的權(quán)限:
SUID:使用命令的所屬用戶的權(quán)限來(lái)運(yùn)行,而不是命令執(zhí)行者的權(quán)限
SGID:使用命令的組權(quán)限來(lái)運(yùn)行。
Sticky-bit:目錄中的文件只能被文件的所屬用戶和root用戶刪除。
它們是這樣表示的:
SUID和SGID用s表示;Sticky-bit用t表示
SUID是占用屬主的x位置來(lái)表示
SGID是占用組的x位置來(lái)表示
sticky-bit是占用其他人的x位置來(lái)表示
例如:drwxrwxrwt 5 root root 4096 06-18 01:01 /tmp它就擁有sticky-bit權(quán)限。-rwsr-xr-x 1 root root 23420 2010-08-11 /usr/bin/passwd它就擁有SUID權(quán)限
SUID,SGID,sticky-bit同樣也有數(shù)字的表示法:
使用的例子:
Linux內(nèi)核中有大量安全特征。EXT2/3/4文件系統(tǒng)的擴(kuò)展屬性(Extended Attributes)可以在某種程度上保護(hù)系統(tǒng)的安全
常見的擴(kuò)展屬性:
A(Atime):告訴系統(tǒng)不要修改對(duì)這個(gè)文件的最后訪問(wèn)時(shí)間。
使用A屬性可以提高一定的性能。
S(Sync):一旦應(yīng)用程序?qū)@個(gè)文件執(zhí)行了寫操作,使系統(tǒng)立刻把修改的結(jié)果寫到磁盤。
使用S屬性能夠最大限度的保障文件的完整性。
a(Append Only):系統(tǒng)只允許在這個(gè)文件之后追加數(shù)據(jù),不允許任何進(jìn)程覆蓋或者截?cái)噙@個(gè)文件。如果目錄具有這個(gè)屬性,系統(tǒng)將 只允許在這個(gè)目錄下建立和修改文件,而不允許刪除任何文件。
i(Immutable):系統(tǒng)不允許對(duì)這個(gè)文件進(jìn)行任何的修改。如果目錄具有這個(gè)屬性,那么任何的進(jìn)程只能修改目錄之下的文件,不允許建立和刪除文件。
a屬性和i屬性對(duì)于提高文件系統(tǒng)的安全性和保障文件系統(tǒng)的完整性有很大的好處。
常用命令:
顯示擴(kuò)展屬性:lsattr [-adR] [文件|目錄](méi)
修改擴(kuò)展屬性:chattr [-R] [[-+=][屬性]] <文件|目錄>
2.3權(quán)限管理練習(xí)題用root賬戶登錄,創(chuàng)建一個(gè)文件aaaXX(XX為學(xué)生學(xué)號(hào)末兩位),用長(zhǎng)格式查看文件權(quán)限;用chmod命令,文字設(shè)定法,給aaaXX文件同組增加寫屬性,觀察結(jié)果;用chmod命令,數(shù)字設(shè)定法,給aaaXX文件設(shè)置權(quán)限為766,觀察結(jié)果;
切換到peter賬戶,查看當(dāng)前umask是多少,觀察結(jié)果;創(chuàng)建一個(gè)目錄foldXX(XX為學(xué)生學(xué)號(hào)末兩位),查看其權(quán)限;創(chuàng)建一個(gè)新文件bbb,查看其權(quán)限;改變unmask為066,創(chuàng)建一個(gè)新文件ccc,查看其權(quán)限
切換到j(luò)kXX賬戶;創(chuàng)建一個(gè)文件myfile,觀察其屬性;用chgrp改變文件myfile組屬性為root;試著去改變文件myfile主屬性為root,可以嗎?切換到root賬戶,改變文件myfile主屬性為root,觀察結(jié)果
數(shù)字設(shè)定766代表文件權(quán)限是什么?
答:766代表文件權(quán)限為rwx-rw-rw-
為什么用jkXX賬戶改變文件myfile的屬主失???
答:因?yàn)閏hown只有root賬戶才可以使用
Umask為022和066對(duì)新創(chuàng)建的文件屬性影響一樣嗎?為什么?
答:影響當(dāng)然不一樣,umask定義的是默認(rèn)不應(yīng)該獲得的權(quán)限,066比022轉(zhuǎn)換成為二進(jìn)制數(shù)后,多了兩個(gè)限制比特位。
以root賬戶登錄,復(fù)制/usr/bin/dir文件到用戶主目錄,用長(zhǎng)格式列出,設(shè)置文件的suid和sguid為1,用長(zhǎng)格式列出;切換帳號(hào)為jkXX,運(yùn)行復(fù)制過(guò)來(lái)的文件dir(注意運(yùn)行當(dāng)前路徑下的文件要帶上路徑,例如./dir);
切換到j(luò)kXX賬戶,進(jìn)入/tmp目錄,建立文件夾myfold,設(shè)置文件夾myfold權(quán)限為777,并且sgid和sticky-bit為1,用長(zhǎng)格式列出,觀察myfold的屬性;進(jìn)入myfold,創(chuàng)建新文件aaa,設(shè)置屬性為任何人可讀可寫,用長(zhǎng)格式列出;切換到j(luò)ason賬戶,進(jìn)入/tmp/myfold目錄,刪除aaa文件,是否可以刪除?
root賬戶,進(jìn)入用戶主目錄;創(chuàng)建一個(gè)文件bbb文件,查看文件的擴(kuò)展屬性;給文件bbb添加擴(kuò)展屬性i,然后試著刪除該文件,是否成功,怎樣才能刪除;創(chuàng)建一個(gè)ccc文件,給文件ccc添加擴(kuò)展屬性a,用長(zhǎng)格式列表/bin目錄并重定向輸出到ccc文件,觀察ccc文件長(zhǎng)度的變化,用長(zhǎng)格式列表/etc目錄,并重定向輸出到ccc文件,是否成功
切換到j(luò)kXX賬戶,在/tmp目錄下創(chuàng)建一個(gè)目錄myshare,用getfacl查看myshare目錄文件訪問(wèn)控制表;設(shè)置myshare文件夾對(duì)于jason用戶權(quán)限為rwx,查看文件訪問(wèn)控制表的變化;切換到j(luò)ason賬戶,進(jìn)入myshare文件創(chuàng)建文件yyy,是否成功;切換到peter賬戶,進(jìn)入myshare文件創(chuàng)建文件zzz,是否成功,為什么?
myfold目錄下,為什么jason賬戶不能刪除一個(gè)任何人都可讀可寫的文件?
答:因?yàn)槲募诘奈募Amyfold被它的所屬者jk08設(shè)置了stickybit位,該文件夾下面的所有文件,只有文件所屬者,以及root用戶才能刪除。
為什么peter賬戶在在myshare文件夾里面不能創(chuàng)建文件?
答:因?yàn)閙yshare文件夾,屬于jk08用戶,只有jk08對(duì)該目錄具備rwx權(quán)限。此外,采用facl的方式,給jason用戶開放了該目錄的rwx訪問(wèn)權(quán)限;peter既不是文件夾的擁有者,也沒(méi)有在facl中開放rwx權(quán)限;依據(jù)權(quán)限設(shè)置情況,peter只有該文件夾的rx權(quán)限。因此,不能創(chuàng)建文件。
添加擴(kuò)展屬性a后,用重定向?qū)⑤敵鰞?nèi)容給ccc文件,可能會(huì)失敗,怎樣才能輸出成功?
答:應(yīng)該采用追加方式的重定向>>,可以在文件末尾添加內(nèi)容,這樣才符合文件擴(kuò)展屬性a的安全規(guī)定。
三、總結(jié)本文主要是總結(jié)了Linux下操作用戶和權(quán)限的知識(shí)~~~這兩個(gè)知識(shí)點(diǎn)在Linux下也是很重要的,是學(xué)習(xí)Linux的基礎(chǔ)~
繼續(xù)完善上一次的思維導(dǎo)圖:
如果文章有錯(cuò)的地方歡迎指正,大家互相交流。習(xí)慣在微信看技術(shù)文章,想要獲取更多的Java資源的同學(xué),可以關(guān)注微信公眾號(hào):Java3y。為了大家方便,剛新建了一下qq群:742919422,大家也可以去交流交流。謝謝支持了!希望能多介紹給其他有需要的朋友
文章的目錄導(dǎo)航:
https://zhongfucheng.bitcron.com/post/shou-ji/wen-zhang-dao-hang
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69742.html
閱讀 3081·2021-11-24 11:14
閱讀 3525·2021-11-22 15:22
閱讀 3215·2021-09-27 13:36
閱讀 725·2021-08-31 14:29
閱讀 1335·2019-08-30 15:55
閱讀 1768·2019-08-29 17:29
閱讀 1153·2019-08-29 16:24
閱讀 2417·2019-08-26 13:48