2.14 文件和目錄權限chmod

文件屬性

[root@localhost ~]# ls -l
總用量 12
-rw-r--r--. 1 root root    0 10月 25 16:06 1.txt
-rw-------. 1 root root 1422 10月 21 00:17 anaconda-ks.cfg

-rw-r--r--. 1 root root 0 10月 25 16:06 1.txtnode

  • -表示文件的類型,rw-r--r--後面的九位,表示文件的權限
    • r (read)表示可讀權限 --數字4表示,r=4
    • w (write)表示可寫權限 --數字2表示,w=2
    • x (excute)表示可執行權限 --數字1表示,x=1
    • 總結:rwx=7 rw-=6 --x=1 rw-r--r--=644 rw-r-xr-x=655
  • rw-表示第一段,user全部者的權限
  • r--表示第二段,group所屬組的權限
  • r--表示第三段,others其餘用戶權限
  • 【點.】 有的文件有點,有的沒有,意味這個文件受制於SELinux,若是selinux開啓,建立的文件或目錄在這個位置就會有點
  • 數字1,則表示 相同inode的文件數,與目錄下子目錄數有關
  • root(第一個),表示文件所屬主 ,文件全部者
  • root(第二個),表示文件所屬組
  • 0(數字),表示文件大小
  • 25 16:06(時間),表示文件最後一次修改的時間
  • 1.txt,表示文件 (這裏能夠是目錄或文件)

chmod

  • chmod等於change mode
  • chmod命令,用於改變用戶對文件或目錄的讀寫執權限
  • chmod -R 表示能夠批量更改目錄自己以及目錄下的子目錄和文件的權限
[root@hf-01 ~]# ls -l
總用量 8
-rw-r--r--. 1 root root 924 10月 25 06:49 2.txt
-rw-------. 1 root root 973 8月  21 05:05 anaconda-ks.cfg.1
[root@hf-01 ~]# chmod 700 2.txt     更改2.txt文件權限
[root@hf-01 ~]# ls -l 2.txt
-rwx------. 1 root root 924 10月 25 06:49 2.txt     這裏會發現2.txt權限改變了
[root@hf-01 ~]# getenforce  查看防火牆是否關閉
[root@hf-01 ~]# setenforce 0       臨時關閉防火牆

若想永久關閉防火牆,則須要更改配置文件
[root@hf-01 ~]# vi /etc/selinux/config     在這個文件下更改

只有關閉了selinux,-rwx------. 最後的這個點纔會消失

chmod例子

[root@hf-01 ~]# mkdir hf/   新建目錄hf/
[root@hf-01 ~]# ls
2.txt  anaconda-ks.cfg.1  hf
[root@hf-01 ~]# cd hf/
[root@hf-01 hf]# touch 1.txt       新建文件1.txt
[root@hf-01 hf]# ls 
1.txt
[root@hf-01 hf]# ls -l 
總用量 0
-rw-r--r--. 1 root root 0 10月 26 06:56 1.txt
[root@hf-01 hf]# cd
[root@hf-01 ~]# chmod 770 1.txt
chmod: 沒法訪問"1.txt": 沒有那個文件或目錄      這是由於1.txt在目錄hf/下面
[root@hf-01 ~]# chmod 770 hf/      更改hf/文件夾的權限
[root@hf-01 ~]# ls -l hf/          會發現裏面的1.txt權限沒有發生變化
總用量 0
-rw-r--r--. 1 root root 0 10月 26 06:56 1.txt
[root@hf-01 ~]# ls -ld hf/         而文件夾的權限則發生了變化
drwxrwx---. 2 root root 18 10月 26 06:56 hf/
[root@hf-01 ~]# chmod -R 661 hf/     在加上了-R選項,文件和目錄和子目錄批量的更改了權限
[root@hf-01 ~]# ls -l hf/
總用量 0
-rw-rw---x. 1 root root 0 10月 26 06:56 1.txt
[root@hf-01 ~]# ls -ld hf/
drw-rw---x. 2 root root 18 10月 26 06:56 hf/

首字母縮寫更改權限

  • u 表示user
  • g 表示group
  • o 表示others
  • a 表示all(所有)
    • 如:u+(-)rwx,g+(-)rwx,o+(-)rwx 若是更改多個屬性,中間可用「,」隔開。linux

    • 又如:a+(-)rwxcode

[root@hf-01 ~]# chmod u=rwx,g=w,o=r hf/       字母縮寫代替更改權限
[root@hf-01 ~]# ls -ld hf/
drwx-w-r--. 2 root root 18 10月 26 06:56 hf/
[root@hf-01 ~]# ls -l hf/
總用量 0
-rw-rw---x. 1 root root 0 10月 26 06:56 1.txt
[root@hf-01 ~]# chmod a+x hf/      全部文件權限都加上x執行權限
[root@hf-01 ~]# ls -ld hf/
drwx-wxr-x. 2 root root 18 10月 26 06:56 hf/
[root@hf-01 ~]# chmod o+w hf/      其餘用戶組加上w可寫的權限
[root@hf-01 ~]# ls -ld hf/
drwx-wxrwx. 2 root root 18 10月 26 06:56 hf/
[root@hf-01 ~]# chmod a-w hf/      全部文件權限減去w可寫的權限
[root@hf-01 ~]# ls -ld hf/
dr-x--xr-x. 2 root root 18 10月 26 06:56 hf/

總結

在Linux系統中。目錄的默認權限爲755,文件的默認權限爲644get

相關文章
相關標籤/搜索