1.查看文件權(quán)限
ls 命令除了用它來列出并顯示當前目錄下的文件,還可以用它來查看文件權(quán)限。
我們加上 -l 參數(shù)诅病,來使用較長格式列出文件:
$ ls -l
各部分的含義是什么呢哪亿?
以:drwxr-xr-x 2 diego diego 4096 3月 14 06:56 公共的
為例:
字段 | 說明 |
---|---|
drwxr-xr-x | 文件類型和權(quán)限 |
2 | 鏈接數(shù) |
diego(第一個) | 所有者 |
diego(第二個) | 所屬用戶組 |
4096 | 文件大小 |
3月 14 06:56 | 最后修改時間 |
公共的 | 文件名 |
那么 drwxr-xr-x
又是表示什么呢粥烁?
第1位表示文件類型。d是目錄文件蝇棉,l是鏈接文件讨阻,-是普通文件,p是管道等(本例中是:d)
第2-4位表示這個文件的所有者擁有的權(quán)限篡殷,r是讀钝吮,w是寫,x是執(zhí)行(本例中是:rwx)
第5-7位表示和這個文件所有者所在同一個用戶組的用戶所具有的權(quán)限板辽。(本例中是:r-x奇瘦,- 表示沒有該權(quán)限,只有r和x權(quán)限)
第8-10位表示其他用戶所具有的權(quán)限(本例中是:r-x)
下面講解各字段具體含義:
- 文件類型
關(guān)于文件類型劲弦,這里有一點你必需時刻牢記 Linux 里面一切皆文件耳标,正因為這一點才有了設(shè)備文件( /dev 目錄下有各種設(shè)備文件,大都跟具體的硬件設(shè)備相關(guān))這一說邑跪。還有 socket(網(wǎng)絡(luò)套接字)次坡, pipe (管道)和軟鏈接文件(軟鏈接等同于 Windows 上的快捷方式)
- 文件權(quán)限
讀權(quán)限,表示你可以使用 cat <file name> 之類的命令來讀取某個文件的內(nèi)容画畅;寫權(quán)限砸琅,表示你可以編輯和修改某個文件; 執(zhí)行權(quán)限轴踱,通常指可以運行的二進制程序文件或者腳本文件症脂,如同 Windows 上的 'exe' 后綴的文件,不過 Linux 上不是通過文件后綴名來區(qū)分文件的類型。
你需要注意的一點是诱篷,一個目錄同時具有讀權(quán)限和執(zhí)行權(quán)限才可以打開并查看內(nèi)部文件沸版,而一個目錄要有寫權(quán)限才允許在其中創(chuàng)建其它文件,這是因為目錄文件實際保存著該目錄里面的文件的列表等信息
所有者權(quán)限兴蒸,這一點相信你應(yīng)該明白了视粮,至于所屬用戶組權(quán)限,是指你所在的用戶組中的所有其它用戶對于該文件的權(quán)限橙凳。
- 鏈接數(shù)
鏈接到該文件所在的 inode 結(jié)點的文件名數(shù)目蕾殴。
- 文件大小
以 inode 結(jié)點大小為單位來表示的文件大小,你可以給 ls 加上 -lh 參數(shù)來更直觀的查看文件的大小岛啸。
2.變更文件所有者
假設(shè)目前是 lilei 用戶登錄钓觉,新建一個文件,命名為 “iphone6”:
$ touch iphone6
用 ll 命令查看該文件:
lilei@diego-ThinkPad-T540p:~$ ll iphone6
-rw-rw-r-- 1 lilei lilei 0 3月 16 21:23 iphone6
可見該文件所有者是 lilei 坚踩。
現(xiàn)在荡灾,換回到 diego 用戶身份,使用以下命令變更文件所有者為 diego :
$ cd /home/lilei
$ ls iphone6
$ sudo chown diego iphone6
$ cp iphone6 /home/diego
chown 命令 能將指定文件的所有者改為指定的用戶或組瞬铸。
結(jié)果:
可見文件的所有者已經(jīng)變成 diego批幌。
3.修改文件權(quán)限
如果你有一個自己的文件不想被其他用戶讀、寫嗓节、執(zhí)行荧缘,那么就需要對文件的權(quán)限做修改,這里有兩種方式:
方式一:二進制數(shù)字表示
可以看出拦宣,一個權(quán)限組合能用數(shù)字表示:
r=4截粗,w=2,x=1
例如要 rwx 則4+2+1=7鸵隧;
例如要 rw- 則4+2=6绸罗;
例如要 r-x 則4+1=5。
那么每個文件的三組權(quán)限(擁有者豆瘫,所屬用戶組珊蟀,其他用戶,記住這個順序是一定的)也就可以用三個數(shù)字來表示。
現(xiàn)在我們修改一下文件等權(quán)限:
$ chmod 700 iphone6
然后查看該文件權(quán)限:
diego@diego-ThinkPad-T540p:/home/lilei$ chmod 700 iphone6
diego@diego-ThinkPad-T540p:/home/lilei$ ll iphone6
-rwx------ 1 diego lilei 0 3月 16 21:23 iphone6*
可見靡羡,所屬用戶組和其他用戶都不擁有該文件等 rwx 權(quán)限了系洛。
方式二:加減賦值操作
現(xiàn)在我們要去除文件的所屬用戶組,其他用戶的讀寫權(quán)限略步,可以這樣操作:
$ chmod go-rw iphone6
第一個參數(shù)(本例是:go)指定對哪類用戶進行操作描扯,如下所述:
字段 | 說明 |
---|---|
u | 文件擁有者 |
g | 所屬用戶組 |
o | 其他用戶 |
a | 所有用戶,相當于 ugo 的效果趟薄。 |
第二個參數(shù)(本例是:- )指授予或去除權(quán)限:
字段 | 說明 |
---|---|
+ | 獲得指定的權(quán)限 |
- | 去除指定的權(quán)限 |
= | 清除選定的許可權(quán)字段并將其設(shè)置為指定的許可權(quán)绽诚。 如果不指定 = 之后的許可權(quán),chmod 命令從選定的 字段除去所有許可權(quán)。 |
第三個參數(shù)(本例是:rw)指要授予或去除的權(quán)限種類:
字段 | 說明 |
---|---|
r | 讀權(quán)限 |
w | 寫權(quán)限 |
x | 執(zhí)行權(quán)限 |
X | 如果當前的(未修改的)方式位設(shè)置了至少一個用戶恩够、組或其它 執(zhí)行位卒落,則執(zhí)行文件的許可權(quán)。如果指定了 File 參數(shù)并且在當前 的方式位中未設(shè)置任何執(zhí)行位蜂桶,則忽略 X 標志儡毕。 |
s | 如果指定或隱含 u 標志,則設(shè)置執(zhí)行時的用戶標識許可權(quán)扑媚。 如果指定或隱含 g 標志腰湾,則設(shè)置執(zhí)行時的組標識許可權(quán)。 |
t | 對于目錄疆股,它表示只有文件所有者可以鏈接或取消鏈接 指定目錄中的文件费坊。對于文件,它設(shè)置 save-text 屬性旬痹。 |