在Linux中,一切皆為文件(目錄也是文件),每個文件對用戶具有可讀(read)、可寫(write)、可執(zhí)行(execute)權(quán)限。目錄的執(zhí)行操作表示是否有權(quán)限進(jìn)入該目錄,文件的可執(zhí)行表示是否可以運(yùn)行該文件。文件都會從屬于一個用戶和一個用戶組,每個文件針對文件的擁有者、所屬組以及其他用戶組具有特定的權(quán)限。
如上圖,除去第一個表示文件類型的字符外,后面的字符均以三個為一組,是『rwx』 的三個參數(shù)的組合。[ r ]代表可讀(read)、[ w ]代表可寫(write)、[ x ]代表可執(zhí)行(execute)。同時他們也會分別對應(yīng)到一個數(shù)字,[ r ]對應(yīng)4,[ w ]對應(yīng)2,[ x ]對應(yīng)1,這些數(shù)字在修改文件權(quán)限的時候可以用到,如果沒有[ rwx ]中的某個權(quán)限,就會用減號[ - ]替代。
第一組是文件擁有者對該文件的操作權(quán)限,第二組是文件所屬組對該文件的操作權(quán)限,第三組是其他組的用戶對該文件的操作權(quán)限。舉例說明: 有一個文件的權(quán)限數(shù)據(jù)為『rwxr-xr--』,那么前3個字符表示文件的擁有者可以對文件進(jìn)行讀、寫、執(zhí)行三個操作,中間3個字符表示該文件的所屬組可以對文件進(jìn)行讀和執(zhí)行操作,最后3個字符表示其他群組的用戶只能對該文件進(jìn)行讀操作。
更改文件權(quán)限:chmod
更改文件權(quán)限使用命令 chmod ,一個文件的權(quán)限對應(yīng)3種用戶(自己、組、其他人)的讀寫執(zhí)行共有9個,三個為一組,把每組的權(quán)限相加得到一個數(shù)字,例如[rwxrwx---]對應(yīng)的數(shù)字是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
只要用戶對文件有寫權(quán)限,那么該用戶就可以更新其他用戶對該文件的操作權(quán)限,命令:
- xyz:分別對應(yīng)三類用戶權(quán)限值相加的和。
- -R : 進(jìn)行遞歸(recursive)的持續(xù)變更,亦即連同次目錄下的所有文件都會變更
例如:
[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc # 更改為所有用戶都可以讀寫執(zhí)行
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
chmod 除了可以使用數(shù)字的方式變更文件的權(quán)限之外,還可以使用符號來改變文件權(quán)限,u、 g、o、a分別是user、group、others、all(所有用戶)的簡寫,r 、w、x 分別是read、write、execute 的簡寫,那么chmod可以接收這些簡寫字符來變更文件權(quán)限。
u
g +(增加) r
chmod o -(除去) w 文件或目錄
a =(賦值) x
例如:
# 給自己讀寫執(zhí)行權(quán)限,給用戶組和其他人讀和執(zhí)行操作
chmod u=rwx,go=rx .bashrc
# 給所有用戶追加寫權(quán)限
chmod a+w .bashrc
# 給所有用戶除去寫權(quán)限
chmod a-w .bashrc
改變所屬群組 chgrp
改變文件的群組使用chgrp命令,他是change group 的縮寫,命令格式:
chgrp [-R] groupname dirname/filename
-R 遞歸改變目錄及子目錄文件,groupname 必須是存在于系統(tǒng)中的/etc/group文件里面的組。
# 把當(dāng)前目錄以及子目錄下所有文件的所屬組更新為mysql組
chgrp -R mysql .
改變文件擁有者 chown
改變文件的所屬者使用 chown 命令,他是change owner 的縮寫,命令格式:
chown [-R] owner dirname/filename
或者
chown [-R] owner:group dirname/filename
chown 命令不僅可以改變文件的擁有者,同時還可以改變文件的群組,只需在 owner 后面 加上 group 的名稱即可
# 把install.log改成mysql用戶
chown mysql install.log
# 把 install.log 改成root用戶和root組
chown root:root install.log
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。