我們知道檔案權(quán)限對于一個系統(tǒng)的安全重要性,也知道檔案的權(quán)限對于使用者與群組的相關(guān)性, 那如何修改一個檔案的屬性與權(quán)限呢?
我們這里介紹幾個常用于群組、擁有者、各種身份的權(quán)限的指令。如下所示:
chgrp
: 改變檔案所屬群組;
chown
: 改變檔案擁有者;
chmod
: 改變檔案的權(quán)限, SUID, SGID, SBIT等等的特性。
1. 改變所屬群組chgrp
[root@www ~]# chgrp [-R] dirname/filename ...
選項(xiàng)與參數(shù):
-R:進(jìn)行遞歸(recursive)的持續(xù)變更,亦即連同次目錄下的所有檔案、目錄都更新成為這個群組之意。常常用在變更某一目錄內(nèi)所有的檔案之情況。
范例:
[root@www ~]# chgrp users install.log [root@www ~]# ls -l -rw-r--r-- 1 root users 68495 Jun 25 08:53 install.log [root@www ~]# chgrp testing install.log chgrp: invalid group name `testing' <== 發(fā)生錯誤信息息~找不到這個群組名~
2. 改變檔案擁有者chown
[root@www ~]# chown [-R] 賬號名稱 檔案或目錄 [root@www ~]# chown [-R] 賬號名稱:組名 檔案或目錄
選項(xiàng)與參數(shù):
-R : 進(jìn)行遞歸(recursive)的持續(xù)變更,亦即連同次目錄下的所有檔案都變更。
范例:將install.log的擁有者改為bin這個賬號:
[root@www ~]# chown bin install.log [root@www ~]# ls -l -rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
范例:將install.log的擁有者與群組改回為root:
[root@www ~]# chown root:root install.log [root@www ~]# ls -l -rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
3. 改變權(quán)限chmod
權(quán)限的設(shè)定方法有兩種, 分別可以使用數(shù)字或者是符號來進(jìn)行權(quán)限的變更。
3.1 數(shù)字類型改變檔案權(quán)限
Linux檔案的基本權(quán)限就有九個,分別是owner/group/others三種身份各有自己的read/write/execute權(quán)限。
舉例:檔案的權(quán)限字符為 -rwxrwxrwx 這九個權(quán)限是三個三個一組的!其中,我們可以使用數(shù)字來代表各個權(quán)限,各權(quán)限的分?jǐn)?shù)對照表如下:
r:4;w:2;x:1
每種身份(owner/group/others)各自的三個權(quán)限(r/w/x)分?jǐn)?shù)是需要累加的,例如當(dāng)權(quán)限為: [-rwxrwx---] 分?jǐn)?shù)則是:
owner = rwx = 4+2+1 = 7 group = rwx = 4+2+1 = 7 others= --- = 0+0+0 = 0
所以我們設(shè)定權(quán)限的變更時,該檔案的權(quán)限數(shù)字就是770啦!變更權(quán)限的指令chmod的語法是這樣的:
[root@www ~]# chmod [-R] xyz 檔案或目錄
選項(xiàng)與參數(shù):
xyz : 就是剛剛提到的數(shù)字類型的權(quán)限屬性,為 rwx 屬性數(shù)值的相加。
-R : 進(jìn)行遞歸(recursive)的持續(xù)變更,亦即連同次目錄下的所有檔案都會變更。
舉例來說,如果要將.bashrc這個檔案所有的權(quán)限都設(shè)定啟用,那么就下達(dá):
[root@www ~]# ls -al .bashrc -rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc [root@www ~]# chmod 777 .bashrc [root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
那如果要將權(quán)限變成 -rwxr-xr-- 呢?那么權(quán)限的分?jǐn)?shù)就成為 [4+2+1][4+0+1][4+0+0]=754 啰!所以你需要下達(dá):
[root@www ~]# chmod 754 filename
3.2 符號類型改變檔案權(quán)限
還有一個改變權(quán)限的方法呦!從之前的介紹中我們可以發(fā)現(xiàn),基本上就九個權(quán)限分別是(1)user (2)group (3)others三種身份啦!那么我們就可以藉由u, g, o來代表三種身份的權(quán)限!此外, a 則代表 all 亦即全部的身份!那么讀寫的權(quán)限就可以寫成r, w, x啰!也就是可以使用底下的方式來看:
來實(shí)驗(yàn)一下吧!假如我們要設(shè)定一個檔案的權(quán)限成為『-rwxr-xr-x』時,基本上就是:
o user (u):具有可讀、可寫、可執(zhí)行的權(quán)限; o group 與 others (g/o):具有可讀不執(zhí)行的權(quán)限。
所以就是:
[root@www ~]# chmod u=rwx,go=rx .bashrc
注意喔!那個 u=rwx,go=rx 是連在一起的,中間并沒有任何空格符!
[root@www ~]# ls -al .bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc
那么假如是『 -rwxr-xr-- 』這樣的權(quán)限呢?可以使用『 chmod u=rwx,g=rx,o=r filename 』來設(shè)定。此外,如果我們知道原先的文件屬性,而我只想要增加.bashrc這個檔案的每個人均可寫入的權(quán)限, 那么我就可以使用:
[root@www ~]# ls -al .bashrc -rwxr-xr-x 1 root root 395 Jul 4 11:45 .bashrc [root@www ~]# chmod a+w .bashrc [root@www ~]# ls -al .bashrc -rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
而如果是要將權(quán)限去掉而不改變其他已存在的權(quán)限呢?例如要拿掉全部人的可執(zhí)行權(quán)限,則:
[root@www ~]# chmod a-x .bashrc [root@www ~]# ls -al .bashrc -rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc
以上就是linux中如何修改文件屬性與權(quán)限的詳細(xì)內(nèi)容,更多請關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!
文章名稱:linux中修改文件屬性和權(quán)限的方法-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://www.rwnh.cn/article32/djposc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、服務(wù)器托管、品牌網(wǎng)站設(shè)計、外貿(mào)建站、ChatGPT、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容