【Linux】文件、目錄權限及歸屬


訪問權限:

  可讀(read):允許查看文件內容、顯示目錄列表

  可寫(write):允許修改文件內容,允許在目錄中新建、移動、刪除文件或子目錄

  可執行(execute):允許運行程序、切換目錄

歸屬:

  文件擁有者(owner):擁有該文件或目錄的用戶賬號

  屬組(group):擁有該文件或目錄的組賬號

  其他人(others):除了屬主和屬組的其他人

 

對於一個文件能否刪除,要看文件所在的目錄有沒有寫的權限。

1   [root@localhost ~]# ls -l install.log
2   -rw-r--r--   1    root    root    34298    04-02   00:23    install.log

這就是一個文件的簡單權限查看。

 

符號命令設置權限:

chmod命令:

格式1: chmod 【ugoa】 【+ - =】 【rwx】 文件或目錄...

##u.g.o.a分別表示屬主、屬組、其他用戶、所有用戶,+ - = 分別表示增加、去除、設置新權限。

常用命令選項: -R  遞歸修改指定目錄下的所有文件、子目錄的權限

 

chmod命令:

格式2: chmod nnn 文件或目錄

## nnn 為3位八進制數字

 

默認權限:

在內核級別:文件的初始權限為666

在內核級別,文件夾的初始權限為777

用umask命令控制默認權限,臨時有效

1 [root@localhost ~]# umask 
2 0022
3 [root@localhost ~]# umask  -S
4 u=rwx,g=rx,o=rx
5 [root@localhost ~]# umask 077
6 [root@localhost ~]# umask
7 0077

 

chown命令:

·必須是root

·用戶和組必須存在

·格式: chown 屬主 文件

    chown  :屬組 文件

    chown 屬主:屬組 文件

    chown 屬主:文件

 

chgrp命令:

格式:chgrp 屬組 文件

必須是root或者是文件的所有者

常用命令選項: -R 遞歸修改指定目錄下的所有文件。子目錄的歸屬

 

文件及目錄的隱藏屬性:

chatter命令: 設置文件的隱藏屬性

格式:chatter 【+ - =】 【ai】 文件或目錄

常用命令選項:-R 遞歸修改

       -a:可以追加文件內容,但不能修改和刪除

       -i:鎖定保護文件

lsatter命令:查看文件的隱藏屬性

格式:lsatter 【Rda】 文件或目錄

常用命令選項:-R :遞歸修改

       -d:查看目錄

例如:要求root在/tmp目錄下創建/tmp/aa/bb這個目錄,要求在這個bb目錄下創建如下圖所示的東東,要求(權限、屬主屬組,名稱)完全一致

    

源碼如下:

[root@localhost bb]# ll -a
total 8
drwxr-xr-x. 2 root root 4096 Jan  2 22:57 .
drwxr-xr-x. 3 root root 4096 Jan  2 22:57 ..
[root@localhost bb]# chmod 775 .
[root@localhost bb]# ll -a
total 8
drwxrwxr-x. 2 root root 4096 Jan  2 22:57 .
drwxr-xr-x. 3 root root 4096 Jan  2 22:57 ..
[root@localhost bb]# chmod 757 ..
[root@localhost bb]# ll -a
total 8
drwxrwxr-x. 2 haha root 4096 Jan  2 22:57 .
drwxr-xrwx. 3 root root 4096 Jan  2 22:57 ..
[root@localhost bb]# mkdir *_*
[root@localhost bb]# ll -a
total 12
drwxrwxr-x. 3 haha root 4096 Jan  2 23:02 .
drwxr-xrwx. 3 root root 4096 Jan  2 22:57 ..
drwxr-xr-x. 2 root root 4096 Jan  2 23:02 *_*
[root@localhost bb]# mkdir <haha>
-bash: syntax error near unexpected token `newline'
[root@localhost bb]# mkdir "<haha>"
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root 4096 Jan  2 23:03 .
drwxr-xrwx. 3 root root 4096 Jan  2 22:57 ..
drwxr-xr-x. 2 root root 4096 Jan  2 23:02 *_*
drwxr-xr-x. 2 root root 4096 Jan  2 23:03 <haha>
[root@localhost bb]# chmod 700 *_*
[root@localhost bb]# chmod 332 <haha>
-bash: syntax error near unexpected token `newline'
[root@localhost bb]# chmod 332 "<haha>"
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root 4096 Jan  2 23:03 .
drwxr-xrwx. 3 root root 4096 Jan  2 22:57 ..
drwx------. 2 root root 4096 Jan  2 23:02 *_*
d-wx-wx-w-. 2 root root 4096 Jan  2 23:03 <haha>
[root@localhost bb]# chmod 555 "<haha>"
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root 4096 Jan  2 23:03 .
drwxr-xrwx. 3 root root 4096 Jan  2 22:57 ..
drwx------. 2 root root 4096 Jan  2 23:02 *_*
dr-xr-xr-x. 2 root root 4096 Jan  2 23:03 <haha>
[root@localhost bb]# chown :hello *_*
[root@localhost bb]# chown xixi:xixi "<haha>"
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root  4096 Jan  2 23:06 .
drwxr-xrwx. 3 root root  4096 Jan  2 22:57 ..
drwx------. 2 root hello 4096 Jan  2 23:02 *_*
dr-xr-xr-x. 2 xixi xixi  4096 Jan  2 23:03 <haha>
[root@localhost bb]# touch "haha xixi"
[root@localhost bb]# chmod 530 "haha xixi"
[root@localhost bb]# chown xixi:haha "haha xixi"
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root  4096 Jan  2 23:07 .
drwxr-xrwx. 3 root root  4096 Jan  2 22:57 ..
drwx------. 2 root hello 4096 Jan  2 23:02 *_*
dr-xr-xr-x. 2 xixi xixi  4096 Jan  2 23:03 <haha>
-r-x-wx---. 1 xixi haha     0 Jan  2 23:07 haha xixi
[root@localhost bb]# touch .hello
[root@localhost bb]# chmod 445 .hello
[root@localhost bb]# chown :hello .hello
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root  4096 Jan  2 23:09 .
drwxr-xrwx. 3 root root  4096 Jan  2 22:57 ..
drwx------. 2 root hello 4096 Jan  2 23:02 *_*
dr-xr-xr-x. 2 xixi xixi  4096 Jan  2 23:03 <haha>
-r-x-wx---. 1 xixi haha     0 Jan  2 23:07 haha xixi
-r--r--r-x. 1 root hello    0 Jan  2 23:09 .hello
[root@localhost bb]# chmod 225 .hello
[root@localhost bb]# ll -a
total 16
drwxrwxr-x. 4 haha root  4096 Jan  2 23:09 .
drwxr-xrwx. 3 root root  4096 Jan  2 22:57 ..
drwx------. 2 root hello 4096 Jan  2 23:02 *_*
dr-xr-xr-x. 2 xixi xixi  4096 Jan  2 23:03 <haha>
-r-x-wx---. 1 xixi haha     0 Jan  2 23:07 haha xixi
--w--w-r-x. 1 root hello    0 Jan  2 23:09 .hello

 

總的來說。熟練掌握基本權限的設置方法,熟練掌握所有權的意義和用法是掌握文件權限和歸屬的關鍵

這就是文件以及目錄權限及歸屬的介紹。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM