问一个弱弱的问题。我想知道linux中,文件权限777、775等等的表示什么意思?

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
新源动
帖子: 83
注册时间: 2008-11-04 21:44

问一个弱弱的问题。我想知道linux中,文件权限777、775等等的表示什么意思?

#1

帖子 新源动 » 2009-02-20 0:38

我只知道 777为全部人都可以读写。
那775是什么意思?
还有其它的权限数字表示什么?
请给个详细的列表~~~
liuchongjin
帖子: 13
注册时间: 2009-02-17 17:19

Re: 问一个弱弱的问题。我想知道linux中,文件权限777、775等等的表示什么意思?

#2

帖子 liuchongjin » 2009-02-20 0:48

引用: http://linux.vbird.org/

* 改變權限, chmod

檔案權限的改變使用的是chmod這個指令,但是,權限的設定方法有兩種, 分別可以使用數字或者是符號來進行權限的變更。我們就來談一談:

* 數字類型改變檔案權限

Linux檔案的基本權限就有九個,分別是owner/group/others三種身份各有自己的read/write/execute權限, 先複習一下剛剛上面提到的資料:檔案的權限字元為:『-rwxrwxrwx』, 這九個權限是三個三個一組的!其中,我們可以使用數字來代表各個權限,各權限的分數對照表如下:

r:4
w:2
x:1

每種身份(owner/group/others)各自的三個權限(r/w/x)分數是需要累加的,例如當權限為: [-rwxrwx---] 分數則是:

owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0

所以等一下我們設定權限的變更時,該檔案的權限數字就是770啦!變更權限的指令chmod的語法是這樣的:

[root@www ~]# chmod [-R] xyz 檔案或目錄
選項:
xyz : 就是剛剛提到的數字類型的權限屬性,為 rwx 屬性數值的相加。
-R : 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案都會變更

舉例來說,如果要將.bashrc這個檔案所有的權限都設定啟用,那麼就下達:

[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

那如果要將權限變成『 -rwxr-xr-- 』呢?那麼權限的分數就成為 [4+2+1][4+0+1][4+0+0]=754 囉!所以你需要下達『 chmod 754 filename』。 另外,在實際的系統運作中最常發生的一個問題就是,常常我們以vim編輯一個shell的文字批次檔後,他的權限通常是 -rw-rw-r-- 也就是664, 如果要將該檔案變成可執行檔,並且不要讓其他人修改此一檔案的話, 那麼就需要-rwxr-xr-x這樣的權限,此時就得要下達:『 chmod 755 test.sh 』的指令囉!

另外,如果有些檔案你不希望被其他人看到,那麼應該將檔案的權限設定為例如:『-rwxr-----』,那就下達『 chmod 740 filename 』吧!

例題:
將剛剛你的.bashrc這個檔案的權限修改回-rw-r--r--的情況吧!
答:
-rw-r--r--的分數是644,所以指令為:
chmod 644 .bashrc

* 符號類型改變檔案權限

還有一個改變權限的方法呦!從之前的介紹中我們可以發現,基本上就九個權限分別是(1)user (2)group (3)others三種身份啦!那麼我們就可以藉由u, g, o來代表三種身份的權限!此外, a 則代表 all 亦即全部的身份!那麼讀寫的權限就可以寫成r, w, x囉!也就是可以使用底下的方式來看:

chmod u
g
o
a +(加入)
-(除去)
=(設定) r
w
x 檔案或目錄

來實作一下吧!假如我們要『設定』一個檔案的權限成為『-rwxr-xr-x』時,基本上就是:

o user (u):具有可讀、可寫、可執行的權限;
o group 與 others (g/o):具有可讀與執行的權限。

所以就是:

[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-- 』這樣的權限呢?可以使用『 chmod u=rwx,g=rx,o=r filename 』來設定。此外,如果我不知道原先的檔案屬性,而我只想要增加.bashrc這個檔案的每個人均可寫入的權限, 那麼我就可以使用:

[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

而如果是要將權限去掉而不更動其他已存在的權限呢?例如要拿掉全部人的可執行權限,則:

[root@www ~]# chmod a-x .bashrc
[root@www ~]# ls -al .bashrc
-rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc

知道 +, -, = 的不同點了嗎?對啦! + 與 – 的狀態下,只要是沒有指定到的項目,則該權限『不會被變動』, 例如上面的例子中,由於僅以 – 拿掉 x 則其他兩個保持當時的值不變!多多實作一下,你就會知道如何改變權限囉! 這在某些情況底下很好用的~舉例來說,你想要教一個朋友如何讓一個程式可以擁有執行的權限, 但你又不知道該檔案原本的權限為何,此時,利用『chmod a+x filename』 ,就可以讓該程式擁有執行的權限了。是否很方便?
头像
wuqi
帖子: 88
注册时间: 2009-01-23 13:35
来自: 武汉

Re: 问一个弱弱的问题。我想知道linux中,文件权限777、775等等的表示什么意思?

#4

帖子 wuqi » 2009-02-20 9:55

http://baike.baidu.com/view/1229012.htm 虽然Google很好用,偶尔也要百度一下 :em09
头像
princelai
帖子: 920
注册时间: 2007-01-06 21:00
联系:

Re: 问一个弱弱的问题。我想知道linux中,文件权限777、775等等的表示什么意思?

#5

帖子 princelai » 2009-02-20 10:44

我当初也是看鸟哥明白的,很不错的入门书,还有网站可以免费看
头像
新源动
帖子: 83
注册时间: 2008-11-04 21:44

Re: 问一个弱弱的问题。我想知道linux中,文件权限777、775等等的表示什么意思?

#6

帖子 新源动 » 2009-02-21 11:18

我看到有点头晕……
njuptsoz
帖子: 164
注册时间: 2007-09-03 18:30
联系:

Re: 问一个弱弱的问题。我想知道linux中,文件权限777、775等等的表示什么意思?

#7

帖子 njuptsoz » 2009-02-21 15:37

liuchongjin 写了:引用: http://linux.vbird.org/

* 改變權限, chmod

檔案權限的改變使用的是chmod這個指令,但是,權限的設定方法有兩種, 分別可以使用數字或者是符號來進行權限的變更。我們就來談一談:

* 數字類型改變檔案權限

Linux檔案的基本權限就有九個,分別是owner/group/others三種身份各有自己的read/write/execute權限, 先複習一下剛剛上面提到的資料:檔案的權限字元為:『-rwxrwxrwx』, 這九個權限是三個三個一組的!其中,我們可以使用數字來代表各個權限,各權限的分數對照表如下:

r:4
w:2
x:1

每種身份(owner/group/others)各自的三個權限(r/w/x)分數是需要累加的,例如當權限為: [-rwxrwx---] 分數則是:

owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0

所以等一下我們設定權限的變更時,該檔案的權限數字就是770啦!變更權限的指令chmod的語法是這樣的:

[root@www ~]# chmod [-R] xyz 檔案或目錄
選項:
xyz : 就是剛剛提到的數字類型的權限屬性,為 rwx 屬性數值的相加。
-R : 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案都會變更

舉例來說,如果要將.bashrc這個檔案所有的權限都設定啟用,那麼就下達:

[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

那如果要將權限變成『 -rwxr-xr-- 』呢?那麼權限的分數就成為 [4+2+1][4+0+1][4+0+0]=754 囉!所以你需要下達『 chmod 754 filename』。 另外,在實際的系統運作中最常發生的一個問題就是,常常我們以vim編輯一個shell的文字批次檔後,他的權限通常是 -rw-rw-r-- 也就是664, 如果要將該檔案變成可執行檔,並且不要讓其他人修改此一檔案的話, 那麼就需要-rwxr-xr-x這樣的權限,此時就得要下達:『 chmod 755 test.sh 』的指令囉!

另外,如果有些檔案你不希望被其他人看到,那麼應該將檔案的權限設定為例如:『-rwxr-----』,那就下達『 chmod 740 filename 』吧!

例題:
將剛剛你的.bashrc這個檔案的權限修改回-rw-r--r--的情況吧!
答:
-rw-r--r--的分數是644,所以指令為:
chmod 644 .bashrc

* 符號類型改變檔案權限

還有一個改變權限的方法呦!從之前的介紹中我們可以發現,基本上就九個權限分別是(1)user (2)group (3)others三種身份啦!那麼我們就可以藉由u, g, o來代表三種身份的權限!此外, a 則代表 all 亦即全部的身份!那麼讀寫的權限就可以寫成r, w, x囉!也就是可以使用底下的方式來看:

chmod u
g
o
a +(加入)
-(除去)
=(設定) r
w
x 檔案或目錄

來實作一下吧!假如我們要『設定』一個檔案的權限成為『-rwxr-xr-x』時,基本上就是:

o user (u):具有可讀、可寫、可執行的權限;
o group 與 others (g/o):具有可讀與執行的權限。

所以就是:

[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-- 』這樣的權限呢?可以使用『 chmod u=rwx,g=rx,o=r filename 』來設定。此外,如果我不知道原先的檔案屬性,而我只想要增加.bashrc這個檔案的每個人均可寫入的權限, 那麼我就可以使用:

[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

而如果是要將權限去掉而不更動其他已存在的權限呢?例如要拿掉全部人的可執行權限,則:

[root@www ~]# chmod a-x .bashrc
[root@www ~]# ls -al .bashrc
-rw-rw-rw- 1 root root 395 Jul 4 11:45 .bashrc

知道 +, -, = 的不同點了嗎?對啦! + 與 – 的狀態下,只要是沒有指定到的項目,則該權限『不會被變動』, 例如上面的例子中,由於僅以 – 拿掉 x 則其他兩個保持當時的值不變!多多實作一下,你就會知道如何改變權限囉! 這在某些情況底下很好用的~舉例來說,你想要教一個朋友如何讓一個程式可以擁有執行的權限, 但你又不知道該檔案原本的權限為何,此時,利用『chmod a+x filename』 ,就可以讓該程式擁有執行的權限了。是否很方便?
很清晰了
头像
lifuljk
帖子: 237
注册时间: 2011-08-11 23:46
系统: ubuntu 14.04
联系:

Re: 问一个弱弱的问题。我想知道linux中,文件权限777、775等等的表示什么意思?

#8

帖子 lifuljk » 2011-10-20 17:03

很好 :em11
sougou for linux:viewtopic.php?f=48&t=416786
头像
灰色小狼
帖子: 4585
注册时间: 2008-12-06 10:38
系统: Arch

Re: 问一个弱弱的问题。我想知道linux中,文件权限777、775等等的表示什么意思?

#9

帖子 灰色小狼 » 2011-10-20 17:06

man chmod……
回复