文件目錄權限 chmod chown umask lsattr chattr

1   文件目錄權限linux

   針對於文件或目錄而言,咱們對其進行操做,無非就是讀寫執行, 那麼,它的權限,天然也只有ide

讀寫和執行了。spa

  在linux中的讀寫執行,是用這三個字母分別表示的 r  w  x  (write read exe)遞歸

 怎麼看一個文件的相關權限呢?it

 ls -l  file 或dir  也能夠直接用:
class

ll   file  或dir  test

如:
nfyx@nfyx:~/test/99$ ls -l bb
-rw-rw-r-- 1 nfyx nfyx 0 10月 25 14:17 bb
nfyx@nfyx:~/test/99$ ll bb
-rw-rw-r-- 1 nfyx nfyx 0 10月 25 14:17 bb

這裏是查看的文件,而這個
-rw-rw-r--,就是表面的文件權限file

前面的第一個-小的一橫,以前在文件類型上說過(linux的文件類型)權限

剩下的touch

-rw-rw-r--,這表示不一樣的用戶組所擁有的權限。

第一個 rw-,   表示擁有者所擁有的權限(能夠理解爲文件建立者,所擁有的權限)

第二個 rw-,   表示文件所屬組,所擁有的權限,即(建立都所屬的那個用戶分組)

第三個 r-- ,    表示的是其它用戶所擁有的權限。

而這裏的  

     rw-rw-r--

所表示的是:建立者擁有 讀寫權限、所屬用戶組擁有 讀寫權限 、其它用戶只擁有的權限

其它的就都相似。

如何改變一個文件的權限?

有兩種方式 (字母加減和數字)

用到的命令:

chmod

a: 字母加減

首先要知道     a=all  u=user  g=group o=other,這表示的用戶或用戶組

案例:

nfyx@nfyx:~/test/chmod$ ll aa
-rw-rw-r-- 1 nfyx nfyx 0 10月 25 17:55 aa
nfyx@nfyx:~/test/chmod$ chmod u+x aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxrw-r-- 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod g+x aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxrwxr-- 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod o+x aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxrwxr-x 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod a-w aa
nfyx@nfyx:~/test/chmod$ ll aa
-r-xr-xr-x 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod go-x aa
nfyx@nfyx:~/test/chmod$ ll aa
-r-xr--r-- 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod u-x aa
nfyx@nfyx:~/test/chmod$ ll aa
-r--r--r-- 1 nfyx nfyx 0 10月 25 17:55 aa
nfyx@nfyx:~/test/chmod$ chmod a+w aa
nfyx@nfyx:~/test/chmod$ ll aa
-rw-rw-rw- 1 nfyx nfyx 0 10月 25 17:55 aa
nfyx@nfyx:~/test/chmod$

這樣子,就能夠把文件的權限進行相關的更改。

b 用數字表示

在這裏咱們得先知道  r=4 w=2 x=1,知道這以後就能夠進行權限更改了,

那麼,這裏的rwx,一共有3 組,也就是有3組數字

  第一組表示 用戶user的權限 (0-7)最大7(r+w+x)最小0

   第二組表示 用戶所在組的權限(0-7)最大7(r+w+x)最小0

    第三組表示 其它用戶的權限(0-7)最大7(r+w+x)最小0

案例:

nfyx@nfyx:~/test/chmod$ ll aa
-rwxrwxrwx 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$chmod 751 aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxr-x--x 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod 007 aa
nfyx@nfyx:~/test/chmod$ ll aa
-------rwx 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod 710 aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwx--x--- 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod 755 aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxr-xr-x 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$ chmod 000 aa
nfyx@nfyx:~/test/chmod$ ll aa
---------- 1 nfyx nfyx 0 10月 25 17:55 aa
nfyx@nfyx:~/test/chmod$ chmod 777 aa
nfyx@nfyx:~/test/chmod$ ll aa
-rwxrwxrwx 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$

即: 這裏的數字總合,就是r+w+x 的總合,即 r+w+x=4+2+1=7   表示擁有讀寫執行的權限

                                                 r+w =4+2=6  表示只擁有 讀寫的權限

                                                 r+x = 4+1      表示只擁有 讀和執行的權限

                                                  r=4                   表示只擁有讀的權限

                                這樣子就能夠組合爲:654

如:       

nfyx@nfyx:~/test/chmod$ chmod 654 aa
nfyx@nfyx:~/test/chmod$ ll aa
-rw-r-xr-- 1 nfyx nfyx 0 10月 25 17:55 aa*
nfyx@nfyx:~/test/chmod$

這樣子,改變文件的權限差很少,就應該沒什麼 大問題了。

既然能改變文件權限,那麼,就能夠改變用戶所屬關係。

如何改變用戶所屬,或用戶組???

2  文件全部者屬性,或文件 擁有者相關屬性

先看一個例子:

nfyx@nfyx:~/test/chmod$ ll aa
-rw-r-xr-- 1 nfyx nfyx 0 10月 25 17:55 aa*

這裏的兩個 nfyx  nfyx  表明的是什麼呢?

第一個nfyx 表明文件屬於哪一個用戶的

第二個nfyx表明文件屬於哪一個用戶組的。

如何改變? 

   改變擁有者(全部者),即改變爲另一個用戶的。(前提:必需是已經存在的用戶)

用到的命令:

chown

案例1:

root@nfyx:/home/nfyx/test/chmod# ll aa
-rw-r-xr-- 1 nfyx nfyx 0 10月 25 17:55 aa*
root@nfyx:/home/nfyx/test/chmod# chown root aa
root@nfyx:/home/nfyx/test/chmod# ll aa

-rw-r-xr-- 1 root nfyx 0 10月 25 17:55 aa*
chown  user  file或dir    (改變用戶全部者)

案例2:

root@nfyx:/home/nfyx/test/chmod# ll aa
-rw-r-xr-- 1 root nfyx 0 10月 25 17:55 aa*
root@nfyx:/home/nfyx/test/chmod# chgrp root aa
root@nfyx:/home/nfyx/test/chmod# ll aa
-rw-r-xr-- 1 root root 0 10月 25 17:55 aa*
root@nfyx:/home/nfyx/test/chmod#

chgrp  group file 或dir    (改變用戶所屬組)

案例3:   若要讓目錄下的全部文件都跟着改變怎麼辦?

root@nfyx:/home/nfyx/test/chown# touch aa/{file,file1}     在目錄aa 下創建兩個文件
root@nfyx:/home/nfyx/test/chown# ll aa/
總用量 8
drwxr-xr-x 2 root root 4096 10月 25 19:54 ./
drwxr-xr-x 3 root root 4096 10月 25 19:53 ../
-rw-r--r-- 1 root root    0 10月 25 19:54 file
-rw-r--r-- 1 root root    0 10月 25 19:54 file1
root@nfyx:/home/nfyx/test/chown# chown -R nfyx aa/      (用chown -R  dir  改變文件遞歸,加R參數)
root@nfyx:/home/nfyx/test/chown# ll aa
總用量 8
drwxr-xr-x 2 nfyx root 4096 10月 25 19:54 ./
drwxr-xr-x 3 root root 4096 10月 25 19:53 ../
-rw-r--r-- 1 nfyx root    0 10月 25 19:54 file
-rw-r--r-- 1 nfyx root    0 10月 25 19:54 file1
改變用戶組也是同樣的,例如:

root@nfyx:/home/nfyx/test/chown# chgrp -R nfyx aa/
root@nfyx:/home/nfyx/test/chown# ll aa
總用量 8
drwxr-xr-x 2 nfyx nfyx 4096 10月 25 19:54 ./
drwxr-xr-x 3 root root 4096 10月 25 19:53 ../
-rw-r--r-- 1 nfyx nfyx    0 10月 25 19:54 file
-rw-r--r-- 1 nfyx nfyx    0 10月 25 19:54 file1
root@nfyx:/home/nfyx/test/chown#

若要同時改變用戶和用戶組,能夠這樣寫:

root@nfyx:/home/nfyx/test/chown# chown -R root:root aa
root@nfyx:/home/nfyx/test/chown# ll aa
總用量 8
drwxr-xr-x 2 root root 4096 10月 25 19:54 ./
drwxr-xr-x 3 root root 4096 10月 25 19:53 ../
-rw-r--r-- 1 root root    0 10月 25 19:54 file
-rw-r--r-- 1 root root    0 10月 25 19:54 file1
root@nfyx:/home/nfyx/test/chown#

單獨改一個也能夠

root@nfyx:/home/nfyx/test/chown# chown root:nfyx aa
root@nfyx:/home/nfyx/test/chown# ll aa
總用量 8
drwxr-xr-x 2 root nfyx 4096 10月 25 19:54 ./
drwxr-xr-x 3 root root 4096 10月 25 19:53 ../
-rw-r--r-- 1 root root    0 10月 25 19:54 file
-rw-r--r-- 1 root root    0 10月 25 19:54 file1
root@nfyx:/home/nfyx/test/chown#

即:

chown  user:group file 或dir

chown -R user:group dir

以上,就是對文件全部者和用戶組,的改變。


2017.10.25

相關文章
相關標籤/搜索