在Linux中,一切皆為文件(目錄也是文件),每個(gè)文件對(duì)用戶具有可讀(read)、可寫(xiě)(write)、可執(zhí)行(execute)權(quán)限。目錄的執(zhí)行操作表示是否有權(quán)限進(jìn)入該目錄,文件的可執(zhí)行表示是否可以運(yùn)行該文件。文件都會(huì)從屬于一個(gè)用戶和一個(gè)用戶組,每個(gè)文件針對(duì)文件的擁有者、所屬組以及其他用戶組具有特定的權(quán)限。

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