linux基礎(chǔ)3(屬主屬組權(quán)限管理)

chmod:修改權(quán)限

chown:寫(xiě)改屬主,屬組

umask:改創(chuàng)建文件時(shí)的默認(rèn)權(quán)限,權(quán)限掩碼

set位:

? ? ? ? 對(duì)文件或目錄進(jìn)行訪問(wèn)控制時(shí),“讀取”、“寫(xiě)入”、“執(zhí)行”是最基本的三種權(quán)限類型。除此之外,在linux中還存在著SET位權(quán)限(SUID、SGID)、粘滯位(Sticky Bit)等為為文件或目錄提供額外的控制方式。

SET位權(quán)限:

? ? ? ? ?位權(quán)限多用于給可執(zhí)行的程序或腳本文件進(jìn)行設(shè)置,其中SUID表示對(duì)屬主用戶增加SET位權(quán)限,SGID表示對(duì)屬組內(nèi)的用戶增加SET位權(quán)限。執(zhí)行未見(jiàn)被設(shè)置了SUID、SGID權(quán)限后,任何用戶在執(zhí)行該文件時(shí),將獲得該文件屬主、屬組賬號(hào)對(duì)應(yīng)的身份。?

? ? ? ? ?為執(zhí)行文件添加SET位權(quán)限一般使用chmod命令實(shí)現(xiàn):?

? ? ? ? ?如使用“chmod u+s”設(shè)置SUID權(quán)限,使用“chmod +gs”設(shè)置SGID權(quán)限。?

? ? ? ? ?也可以使用數(shù)字形式,SUID對(duì)應(yīng)八進(jìn)制數(shù)字“4”、SGID對(duì)應(yīng)八進(jìn)制數(shù)字“2”:?

? ? ? ? ?如使用“chmod 4755”設(shè)置SUID權(quán)限,使用“chmod 2755”設(shè)置SGID權(quán)限,使用“chmod 6755”同時(shí)設(shè)置SUID和SGID權(quán)限?


合理利用SUID、SGID設(shè)置SET位權(quán)限,可以在確保安全性的同時(shí)為linux系統(tǒng)的管理和使用帶來(lái)方便。例如,linux系統(tǒng)中passwd命令的程序文件就被設(shè)置了SUID權(quán)限,正因?yàn)槿绱?,盡管普通用戶無(wú)法直接修改“/etc/shadow”文件,但仍然可以通過(guò)passwd命令修改自己的登錄密碼,從而以root用戶的身份間接更新shadow文件中的密碼信息。?

另一方面,若沒(méi)有確切的應(yīng)用需要,不要輕易為可執(zhí)行文件設(shè)置SET位權(quán)限,特別是那些屬主、屬組是root的執(zhí)行程序,使用SET位權(quán)限時(shí)更應(yīng)該謹(jǐn)慎。例如,若為vim編輯器程序設(shè)置SUID權(quán)限,將導(dǎo)致普通用戶也可以使用vim編輯器修改系統(tǒng)中的任何配置文件。 需要去除SUID、SGID權(quán)限時(shí),只需要使用“u-s”、“g-s”的權(quán)限模式即可。?

粘滯位權(quán)限 :

? ? ? ? 粘滯位主要用于為目錄設(shè)置特殊的附加權(quán)限,當(dāng)目錄被設(shè)置粘滯位權(quán)限后,即便用戶對(duì)該目錄有寫(xiě)入權(quán)限,也不能刪除該目錄中其他用戶的文件數(shù)據(jù)。設(shè)置了粘滯位權(quán)限的目錄,使用ls命令查看其屬性時(shí),其他用戶權(quán)限處的“x”將變?yōu)椤皌”。 使用chmod命令設(shè)置目錄權(quán)限時(shí),“chmod +t”、“chmod -t”權(quán)限模式可分別用于添加、移除粘滯位權(quán)限。將數(shù)字權(quán)限模式“nnnn”中 的第1位數(shù)字改為“1”、“0”,也可以實(shí)現(xiàn)添加移除粘滯位權(quán)限。

umask命令:

? ? ? ? 用來(lái)設(shè)置限制新建文件權(quán)限的掩碼。當(dāng)新文件被創(chuàng)建時(shí),其最初的權(quán)限由文件創(chuàng)建掩碼決定。用戶每次注冊(cè)進(jìn)入系統(tǒng)時(shí),umask命令都被執(zhí)行, 并自動(dòng)設(shè)置掩碼mode來(lái)限制新文件的權(quán)限。用戶可以通過(guò)再次執(zhí)行umask命令來(lái)改變默認(rèn)值,新的權(quán)限將會(huì)把舊的覆蓋掉。

用戶權(quán)限管理 -ACL(訪問(wèn)控制管理):

setfacl

? ? ? ? ? 功能 : 修改本地文件 / 目錄的 ACL權(quán)限

getfacl

? ? ? ? ? 功能 : 查看本地文件 / 目錄的 ACL權(quán)限

文件屬性:

chattr

? ? ? ? ?功能 : 更改文件 / 目錄的屬性

lsattr

? ? ? ? ?功能 : 顯示文件 / 目錄的權(quán)限

su:切換用戶

sudo命令用來(lái)以其他身份來(lái)執(zhí)行命令,預(yù)設(shè)的身份為root。在/etc/sudoers中設(shè)置了可執(zhí)行sudo指令的用戶。若其未經(jīng)授權(quán)的用戶企圖使用sudo,則會(huì)發(fā)出警告的郵件給管理員。用戶使用sudo時(shí),必須先輸入密碼,之后有5分鐘的有效期限,超過(guò)期限則必須重新輸入密碼。

第一個(gè)ALL是指網(wǎng)絡(luò)中的主機(jī),我們后面把它改成了主機(jī)名,它指明foobar可以在此主機(jī)上執(zhí)行后面的命令。第二個(gè)括號(hào)里的ALL是指目標(biāo)用戶,也就是以誰(shuí)的身份去執(zhí)行命令。最后一個(gè)ALL當(dāng)然就是指命令名了。例如,我們想讓foobar用戶在linux主機(jī)上以jimmy或rene的身份執(zhí)行kill命令,這樣編寫(xiě)配置文件:

foobar? ? ALL=(jimmy,rene)? ? ?ALL

?

用戶管理

分散式管理

集中式管理

用戶信息保存文件及位置? /etc/passwd

用戶密碼保護(hù)文件及位置/etc/shadow

linux組的信息保存位置 ??/etc/group? ??

兩個(gè)建立用戶的自定義配置文件

/etc/default/useradd

/etc/login.defs?


vim /etc/passwd

第一列?賬號(hào)名

第二列?密碼

第三列 UID

第四列 GID?

第五列?備注信息

第六列 賬戶目錄位置

第七列?賬號(hào)使用的shell


vim /etc/shadow

第一列?賬號(hào)名

第二列?密碼

第三列?密碼自新紀(jì)元 (1970-1-1) 起到用戶前一次 修 改密碼的天數(shù)

第四列?密碼前次與下一次修改的時(shí)間間隔 , 一般為“ 0”位不設(shè)定,可隨時(shí)修改 ?? ??

第五列?密碼最大有效其時(shí)間 ( 天 ), 默認(rèn)為 99999 天

第六列?密碼失效前 , 提前 N( 天 ) 通知警告用戶

第七列?密碼失效后 , 寬限期天數(shù) . 此段設(shè)置可以確 保 密碼失效后延長(zhǎng) N 天在將密碼失效

第八列?賬號(hào)有效期

第九列?保留


屬主屬組管理

useradd (adduser)? 名字? ? ?添加賬戶

-u?指定賬戶UID

-g: 指定賬戶初始化 ( 起始 ) 組 (passwd 區(qū)域 4)???

-d: 指定賬戶的主目錄 (passwd 區(qū)域 6)

-s: 指定新建賬戶所使用的 shell(passwd 區(qū)域 7)???

useradd -g root -d /admin -s /bin/bash -u 614 test

賬戶名為test?初始組為root?賬戶主目錄為/admin?所使用的shell為bash?uid為614?


usermod?修改用戶

usermod -aG root test?把賬戶test添加到root組

usermod -G game zhangsan? 添加附加組

useramod -g vfast tom? tom的主要組為vfast

usermod -u 2000 harry

useradd -G game zhangsan? 把zhangsan添加到game組(zhangsan是之前不存在用戶)

useradd -d /home/body cjk? 把cjk的家目錄設(shè)為body

usermod -s /sbin/nologin tom? ? ? ?tom用戶的登陸shell為非交互式

? ? ? ? ? ? ? ? ? ? /bin/bash

userdel?賬戶??刪除用戶


groupadd?組名? 創(chuàng)建組

groupmod -n?qqq?test?把組名test改為qqq

gpasswd?test? 設(shè)定密碼

gpasswd -A aa -M aa,bb,cc test? ?組為test。aa為管理員?bbcc賬戶為組員

gpasswd -d aa admin? 將aa從admin組中移除

gpasswd -a aa admin? 將aa添加到admin組中


修改密碼

passwd?name??設(shè)定修改密碼(密碼不可見(jiàn))

passwd --stdin?name? 設(shè)定修改密碼(密碼可見(jiàn))

echo “123” |?passwd --stdin?name? 直接給用戶設(shè)定密碼

-l 鎖定指定賬號(hào)

-u?解鎖指定賬號(hào)?? ?

-d?清空指定賬號(hào)口令


id?賬戶? ?查看當(dāng)前用戶UID GID? 組名 ?

-un: 顯示賬戶名? ? ? ? ? ? ? ? ? ? ??

?-gn: 顯示初始組組名?

-Gn: 顯示附加組組名

who? 查看當(dāng)前所有登錄信息

whoami? ?顯示賬戶

last? 顯示賬戶最后登錄時(shí)間

lastlog?顯示最近所有賬戶最后登錄時(shí)間


權(quán)限管理

chmod??改變文件目錄的權(quán)限

chmod u+rw,g+rw,o+r test?? ? ?u屬主?g屬組 o其他人? 加權(quán)限

chmod?u-rw,,g=x,o-rw? test? ? ? ?減權(quán)限

chmod?o-rwx /var/tmp/fstab? 其他用戶無(wú)權(quán)限

chmod 666 test??

chmod 4644 test? ?讓其他用戶以屬主身份執(zhí)行可執(zhí)行程序(suid)

chmod 2644?test? ? ? ?sgid

chmod 1777?test? ? ? ?黏貼位?確保用戶僅可以刪除自己的文件

chmod u-s test? (g)?

chmod u+s?


Set 位?

suid: 讓其他用戶以屬主身份執(zhí)行可執(zhí)行程序??

sgid: 讓其他用戶以屬組身份執(zhí)行可執(zhí)行程序

sticky: 黏貼位 , 確保用戶僅可以刪除自己的文件

umask?改創(chuàng)建文件時(shí)的默認(rèn)權(quán)限,權(quán)限掩碼

?默認(rèn)權(quán)限:0022? 文件666? 目錄777


chown改變屬主屬組

chown test config?改變config的屬主位test賬戶

chown .test?config --------------組---------

chown -RV?aa.aa config? 改變config目錄及子目錄的屬主組權(quán)限

chown root:root /var/tmp/fstab? 把文件的屬主屬組都改為root

chgrp game test? ?把test文件的屬組改為game組

-R?遞歸

-v?顯示詳細(xì)信息


getfacl config?查看本地文件ACL權(quán)限(不同角色分配不同權(quán)限)

setfacl -m u:aa:rw,g:aa:rw config? ? 給aa對(duì)文件config文件用有rw權(quán)限

setfacl -R -m u:aa:rwx test? ? ?目錄及子目錄

setfacl -x u:aa test? ?去掉aa對(duì)test中的ACL權(quán)限

setfacl -b?test?去掉test中所有ACL權(quán)限


chattr +i test? ? ?給test增加i只讀屬性

lsattr test? ?顯示目錄/文件權(quán)限


su?test? root切換到test?繼續(xù)使用root的shell環(huán)境

su -?test? 用test的shell環(huán)境

sudo賦予普通用戶特殊權(quán)限

配置文件位于/etc/sudoers

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容