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