1、調(diào)整文件的權(quán)限命令:chmod
創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)制作的專業(yè)網(wǎng)站設(shè)計(jì)公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁(yè)設(shè)計(jì)人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來(lái)曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)1000多家。
Linux的每個(gè)文件都定義了文件的擁有者:u(user)、擁有組:g(group)、其他人:o(others)權(quán)限,對(duì)應(yīng)的權(quán)限用rwx的組合來(lái)定義。使用chmod命令,增加權(quán)限用+,刪除權(quán)限用-,某個(gè)文件詳細(xì)的權(quán)限用=號(hào)。
比如:
chmod u+r filename? #給某文件增加讀的權(quán)限
chmod u-r filename? #給某文件刪除讀的權(quán)限
chmod u+w filename? #給某文件增加寫的權(quán)限
chmod u-w filename? #給某文件刪除寫的權(quán)限
chmod u+x filename? #給某文件增可執(zhí)行的權(quán)限
chmod u-x filename? #給某文件刪除可執(zhí)行的權(quán)限
chmod u+rwx filename? #給某文件增加讀寫可執(zhí)行的權(quán)限
chmod u=rwx filename? #給某文件設(shè)定讀寫可執(zhí)行的權(quán)限
通過這種方式可以同一時(shí)刻給文件擁有者、文件擁有組、或其他用戶設(shè)置權(quán)限,如果想要同時(shí)設(shè)置所有用戶的權(quán)限就要使用數(shù)字表示的方式了,Linux規(guī)定 r=4,w=2,x=1。比如權(quán)限r(nóng)wx:7,r-x:5。如果想設(shè)置一個(gè)文件擁有者有讀、寫、執(zhí)行,擁有組的權(quán)限是讀、執(zhí)行、其他人只讀的話,可以使用命令:chmod 745 filename 進(jìn)行設(shè)置。chmod -R 745 dirname #用來(lái)看設(shè)置目錄權(quán)限 必須加 -R參數(shù)。
2、改變文件的擁有者命令:chown
比如:chown user1 hello.txt?
#將hello.txt 文件擁有者修改為 user1, 前提user1 為系統(tǒng)中擁有的用戶
chown :user1 hello.txt?
#將hello.txt 文件擁有者修改為 user1組, 前提user1 為系統(tǒng)中擁有的用戶組
chown user1:user1 hello.txt?
#相當(dāng)于執(zhí)行了上面兩條命令
chown user1:user1 dirname?
#修改目錄的文件擁有者和用戶組 需要加 -R參數(shù)
3、修改文件的擁有組命令:chgrp
比如:
chgrp user1 hello.txt?
#將hello.txt 文件用戶組修改為 user1
chgrp user1 dirname?
#將dirname 目錄用戶組修改為 user1,需要加 -R參數(shù)
覺得不錯(cuò)請(qǐng)點(diǎn)贊支持,歡迎留言或進(jìn)我的個(gè)人群855801563領(lǐng)取【架構(gòu)資料專題目合集90期】、【BATJTMD大廠JAVA面試真題1000+】,本群專用于學(xué)習(xí)交流技術(shù)、分享面試機(jī)會(huì),拒絕廣告,我也會(huì)在群內(nèi)不定期答題、探討。
Linux chmod(英文全拼:change mode)命令是控制用戶對(duì)文件的權(quán)限的命令
Linux/Unix 的文件調(diào)用權(quán)限分為三級(jí) : 文件所有者(Owner)、用戶組(Group)、其它用戶(Other Users)。
只有文件所有者和超級(jí)用戶可以修改文件或目錄的權(quán)限。可以使用絕對(duì)模式(八進(jìn)制數(shù)字模式),符號(hào)模式指定文件的權(quán)限。
使用權(quán)限 : 所有使用者
語(yǔ)法
參數(shù)說(shuō)明
mode : 權(quán)限設(shè)定字串,格式如下 :
其中:
u 表示該文件的擁有者,g 表示與該文件的擁有者屬于同一個(gè)群體(group)者,o 表示其他以外的人,a 表示這三者皆是。
+ 表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。
r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當(dāng)該文件是個(gè)子目錄或者該文件已經(jīng)被設(shè)定過為可執(zhí)行。
其他參數(shù)說(shuō)明:
-c : 若該文件權(quán)限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作
-f : 若該文件權(quán)限無(wú)法被更改也不要顯示錯(cuò)誤信息
-v : 顯示權(quán)限變更的詳細(xì)資料
-R : 對(duì)目前目錄下的所有文件與子目錄進(jìn)行相同的權(quán)限變更(即以遞歸的方式逐個(gè)變更)
--help : 顯示輔助說(shuō)明
--version : 顯示版本
Linux檔案的基本權(quán)限就有九個(gè),分別是owner/group/others三種身份各有自己的read/write/execute權(quán)限
舉例:檔的權(quán)限字符為 -rwxrwxrwx 這九個(gè)權(quán)限是三個(gè)三個(gè)一組的!其中,我們可以使用數(shù)字來(lái)代表各個(gè)權(quán)限,各權(quán)限的分?jǐn)?shù)對(duì)照表如下:
r:4 w:2 x:1
每種身份(owner/group/others)各自的三個(gè)權(quán)限(r/w/x)分?jǐn)?shù)是需要累加的,例如當(dāng)權(quán)限為: [-rwxrwx---] 分?jǐn)?shù)則是:
所以我們?cè)O(shè)定權(quán)限的變更時(shí),該檔案的權(quán)限數(shù)字就是770啦!變更權(quán)限的指令chmod的語(yǔ)法是這樣的:
選項(xiàng)與參數(shù):
xyz : 就是剛剛提到的數(shù)字類型的權(quán)限屬性,為 rwx 屬性數(shù)值的相加。
-R : 進(jìn)行遞歸(recursive)的持續(xù)變更,亦即連同次目錄下的所有檔案都會(huì)變更
舉例來(lái)說(shuō),如果要將.bashrc這個(gè)檔案所有的權(quán)限都設(shè)定啟用,那么就下達(dá):
那如果要將權(quán)限變成 -rwxr-xr-- 呢?那么權(quán)限的分?jǐn)?shù)就成為 [4+2+1][4+0+1][4+0+0]=754 啰!所以你需要下達(dá):
Linux系統(tǒng)中的用戶是分角色的,用戶的角色是由UID和GID來(lái)識(shí)別的(也就是說(shuō)系統(tǒng)是識(shí)別的是用戶的UID、GID,而非用戶用戶名),一個(gè)UID是唯一(系統(tǒng)中唯一如同身份證一樣)用來(lái)標(biāo)識(shí)系統(tǒng)的用戶賬號(hào)(用戶名)。
文件的用戶與用戶組分為超級(jí)管理員,普通用戶和系統(tǒng)用戶。
1)超級(jí)管理員的UID=0,GID=0,也可以這么說(shuō)系統(tǒng)只要是識(shí)別出某個(gè)用戶的UID\GID都為0時(shí),那么這個(gè)用戶系統(tǒng)就認(rèn)為是超級(jí)管理員。
2)普通用戶(管理員添加的),默認(rèn)它的UID\GID是從500-65535,權(quán)限很小,只能操作自己的家目錄中文件及子目錄(注:nobody它的UID\GID是65534)。
3)系統(tǒng)用戶,也稱虛擬用戶,也就是安裝系統(tǒng)時(shí)就默認(rèn)存在的且不可登陸系統(tǒng),它們的UID\GID是1-499。
我們可以通過cat /etc/passwd命令來(lái)查看所有的用戶信息,例如下圖,第三列是UID,第四列是GID:
創(chuàng)建用戶
useradd user1 創(chuàng)建用戶user1
useradd -e 12/30/2021 user2 創(chuàng)建用戶user2,有效期到2021-12-30
設(shè)置用戶密碼
passwd user1 設(shè)置密碼,有設(shè)置密碼的用戶不能用
這里設(shè)置密碼時(shí)可能會(huì)碰到密碼保護(hù)機(jī)制問題,這里需要注釋掉保護(hù)機(jī)制的問題
這個(gè)時(shí)候需要在編輯/etc/pam.d/system-auth文件,將其中的password requisite
和password sufficient兩行注釋掉,如下圖:
創(chuàng)建用戶組
groupadd –g 888 users 創(chuàng)建一個(gè)組users,其GID為888
groupadd users 不用g參數(shù),使用默認(rèn)的組ID
命令 gpasswd為組添加用戶
只有root和組管理員能夠改變組的成員:
gpasswd –a user1 users 把 user1加入users組
gpasswd –d user1 users 把 user1退出users組
命令groupmod修改組
groupmod –n user2 user1 修改組名user1為user2
groupdel刪除組
groupdel users 刪除組users
真正從安全性角度上來(lái)考慮的話,是要控制用戶一定執(zhí)行命令的權(quán)限,也就是哪些用戶可以執(zhí)行哪些命令,不可以執(zhí)行哪些命令,因此也就有了sudo這個(gè)應(yīng)用,對(duì)于sudo提權(quán),也就是修改/etc/sudoers的配置文件。
在linux中給文件夾賦權(quán)限的步驟如下:
1.首先,咱們用客戶端工具(工具很多,我用的是xshell),用需要建立的文件夾的賬戶登錄系統(tǒng),例如我現(xiàn)在是用的Root用戶。紅色框框內(nèi),寫著root證明,登錄的用戶沒有問題。
2.此時(shí)進(jìn)入到需要新建文件夾的目錄下,例如我們現(xiàn)在要去/u1下面去建立文件夾,則使用命令cd u1即可。如果其他的文件夾:cd u1/out。
3.進(jìn)入需要建立新文件的目錄后完成,直接錄入新建文件命令:mkdir ?fanfan建立后,可以“l(fā)s”下,可以看到建立的目錄存在了。
4.此時(shí)可以查看文件夾的權(quán)限,可以使用ls -la此命令可以看到下屬相關(guān)文件夾的權(quán)限。這樣就解決了在linux中給文件夾賦權(quán)限的問題了。