Linux 文件普通權限_011


 

 

一、文件權限10個字符對應類型和權限

 

 

 

二、Linux普通文件和Linux目錄讀、寫、執行權限說明

 

標注:Linux 中的文件名是存在於父目錄的block里面,並指向這個文件的inode節點

1、linux 普通文件讀、寫、執行權限說明

 

權限

描述

范例

可讀 r

表示具有讀取文件內容的權限

范例1

可寫 w

表示具有新增、修改文件內容的權限

1、如果沒有r,那么vi會提示無法編輯(可強制編輯),echo 可以重定向或追加

2、特別提示,刪除(修改文件名等)的權限是受父目錄的權限控制,和文件本身權限無關

范例2

可執行 x

表示具有執行文件的權限

1、文件本身要能夠執行

2、普通用戶同時還需具備r的權限才能

3、root 只要有x的權限就能執行

win 32下可執行文件 *.exe *.bat *.com

linux  下可執行文件 *.sh  *.py  *.perl等

范例3

 

2、linux 目錄的讀、寫、執行權限說明

 

權限

描述

范例

可讀 r

表示具有瀏覽目錄下面文件及子目錄的權限,即 ls   dir

1、如果沒有x權限,不能進到目錄里,即無法cd dir

2、如果沒有x權限,ls 列表時可以看到所有文件名,但是會提示無權訪問目錄下文件

3、如果ls -l 列表,所有的屬性會帶有問號,也會提示無權訪問目錄下文件。但可以

看到所有文件名。

范例4

可寫 w

表示具有增加、刪除或修改目錄內文件名(一般指文件名)的權限(需要x權限配合使用)

范例5

可執行 x

表示具有進入目錄的權限,例如 cd dir

但是沒有r無法列表文件及目錄,沒有w無法新建和刪除

范例6

 

 

三、環境模擬實踐

chmod  (change mode)   改變文件或目錄權限的命令

chmod命令可以通過兩種方法設置權限,第一種是權限字母和操作符表達式,第二種是數字方法(八進制),推薦使用數字方法。

 

第一種方法:文件權限對應的數字方法(八進制)表示

chmod   [數字組合]    文件名

 

 

第二種方法:權限字母和操作符表達式

chmod  [用戶類型] [+|-|=]  [字符權限]  文件名

 

權限字母

功能

權限

備注說明

u (user)

+  增加

-      減少

=  設置

r   讀操作

w  寫操作

x  執行操作

-      無權限

+  添加某個權限

-  取消某個權限

=  取消其它所有權限賦予給定的權限

g (group)

o (others)

a (all)

 

 

 

 

模擬測試准備:

1、創建一個用戶組 incahome(主人的家庭,即用戶組)

2、創建三個用戶

oldboy  (主人,即用戶)  

oldgirl  (主人的家人,即用戶)  

3、test  (其他人,即用戶)

創建一個目錄oldboy 並且目錄里創建一個文件 test.sh

 

 

模擬操作:

[root@oldboy ~]# groupadd incahome   ##創建一個用戶組

[root@oldboy ~]# useradd oldboy -g incahome   ##創建一個用戶並分配到指定的incahome用戶組,如果oldboy用戶存在需使用usermod修改用戶組命令

[root@oldboy ~]# useradd oldgirl

[root@oldboy ~]# usermod -g incahome oldgirl  ##修改用戶oldgirl所屬用戶組 用戶必須已創建

[root@oldboy ~]# id oldboy  ##查看oldoyb UID和GID

uid=500(oldboy) gid=500(oldboy) groups=500(oldboy)

[root@oldboy ~]# id oldgirl

uid=501(oldgirl) gid=502(incahome) groups=502(incahome)

[root@oldboy ~]# useradd test

[root@oldboy ~]# id test       

uid=502(test) gid=503(test) groups=503(test)

 

##創建oldboy目錄,並在oldboy目錄下創建一個文件test.sh

[root@oldboy ~]# mkdir /oldboy

[root@oldboy ~]# ls -ld /oldboy/

drwxr-xr-x 2 root root 4096 Dec  1 16:30 /oldboy/

[root@oldboy ~]# echo "echo oldboylinux" > /oldboy/test.sh

[root@oldboy ~]# ls -l /oldboy/test.sh

-rw-r--r-- 1 root root 17 Dec  1 16:33 /oldboy/test.sh

[root@oldboy ~]# chmod +x /oldboy/test.sh

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxr-xr-x 1 root root 17 Dec  1 16:33 /oldboy/test.sh

[root@oldboy ~]# chown oldboy.incahome /oldboy/test.sh   ##修改文件所屬主和屬組

[root@oldboy ~]# chown oldboy.incahome /oldboy/

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxr-xr-x 1 oldboy incahome 32 Dec  3 10:36 /oldboy/test.sh

[root@oldboy ~]# ls -ld /oldboy/

drwxr-xr-- 2 oldboy incahome 4096 Dec  4 17:01 /oldboy/

 

范例1:

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxr-xr-x 1 oldboy incahome 32 Dec  3 10:36 /oldboy/test.sh

[root@oldboy ~]# chmod 740 /oldboy/test.sh

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxr----- 1 oldboy incahome 17 Dec  4 17:01 /oldboy/test.sh

[root@oldboy ~]# su - oldgirl

[oldgirl@oldboy ~]$ cat /oldboy/test.sh

echo oldboylinux

[oldgirl@oldboy ~]$ /oldboy/test.sh

-bash: /oldboy/test.sh: Permission denied

[oldgirl@oldboy ~]$ rm -f /oldboy/test.sh

rm: cannot remove `/oldboy/test.sh': Permission denied

[oldgirl@oldboy ~]$ su - test

Password:

[test@oldboy ~]$ cat /oldboy/test.sh

cat: /oldboy/test.sh: Permission denied

[test@oldboy ~]$ /oldboy/test.sh

-bash: /oldboy/test.sh: Permission denied

[test@oldboy ~]$ rm  /oldboy/test.sh

rm: cannot remove `/oldboy/test.sh': Permission denied

 

 

范例2:

[root@oldboy ~]# chmod 762 /oldboy/test.sh

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxrw--w- 1 oldboy incahome 17 Dec  4 17:01 /oldboy/test.sh

[oldgirl@oldboy ~]$ ls -ld /oldboy/

drwxr-xr-x 2 root root 4096 Dec  4 17:01 /oldboy/

[oldgirl@oldboy ~]$ rm /oldboy/test.sh     ##文件名存在於oldboy目錄的block里

rm: cannot remove `/oldboy/test.sh': Permission denied

[oldgirl@oldboy ~]$ echo "testdata" >> /oldboy/test.sh

[oldgirl@oldboy ~]$ cat /oldboy/test.sh

echo oldboylinux

testdata

[oldgirl@oldboy ~]$ su - test

Password:

[test@oldboy ~]$ rm /oldboy/test.sh

rm: cannot remove `/oldboy/test.sh': Permission denied

[test@oldboy ~]$ echo "othersdata" >> /oldboy/test.sh

[test@oldboy ~]$ cat /oldboy/test.sh

cat: /oldboy/test.sh: Permission denied

 

 

范例3:

[root@oldboy ~]# ls -l /oldboy/test.sh

-rwxr-x--x 1 oldboy incahome 17 Dec  4 17:47 /oldboy/test.sh

[root@oldboy ~]# su - oldgirl

[oldgirl@oldboy ~]$ cat /oldboy/test.sh

echo oldboylinux

[oldgirl@oldboy ~]$ /oldboy/test.sh

oldboylinux

[oldgirl@oldboy ~]$ su - test

Password:

[test@oldboy ~]$ cat /oldboy/test.sh

cat: /oldboy/test.sh: Permission denied

[test@oldboy ~]$ /oldboy/test.sh

bash: /oldboy/test.sh: Permission denied

 

 

范例4:

[root@oldboy ~]# chmod 754 /oldboy/

[root@oldboy ~]# ls -ld /oldboy/

drwxr-xr-- 2 oldboy incahome 4096 Dec  4 17:01 /oldboy/

[root@oldboy ~]# su - oldgirl

[oldgirl@oldboy ~]$ cd /oldboy/

[oldgirl@oldboy oldboy]$ ls /oldboy/

abc.txt  test.sh

[oldgirl@oldboy oldboy]$ ls -l /oldboy/

total 4

-rw-r--r-- 1 oldgirl incahome  0 Dec  3 10:41 abc.txt

-rwxr-x--x 1 oldboy  incahome 17 Dec  4 17:47 test.sh

[oldgirl@oldboy oldboy]$ su - test

Password:

[test@oldboy ~]$ cd /oldboy/

-bash: cd: /oldboy/: Permission denied

[test@oldboy ~]$ ls /oldboy/

ls: cannot access /oldboy/test.sh: Permission denied

ls: cannot access /oldboy/abc.txt: Permission denied

abc.txt  test.sh

[test@oldboy ~]$ ls -l /oldboy/

ls: cannot access /oldboy/test.sh: Permission denied

ls: cannot access /oldboy/abc.txt: Permission denied

total 0

-????????? ? ? ? ?            ? abc.txt

-????????? ? ? ? ?            ? test.sh

 

 

范例5:

[root@oldboy ~]# chmod 777 /oldboy/test.sh /oldboy/file.txt

[root@oldboy ~]# chmod 731 /oldboy/

[root@oldboy ~]# ls -ld /oldboy/

drwx-wx--x 2 oldboy incahome 4096 Dec  4 18:05 /oldboy/

[root@oldboy ~]# ls -l /oldboy/

total 8

-rwxrwxrwx 1 root   root      9 Dec  4 18:05 file.txt

-rwxrwxrwx 1 oldboy incahome 17 Dec  4 17:47 test.sh

[root@oldboy ~]# su - oldgirl

[oldgirl@oldboy ~]$ rm /oldboy/file.txt

[oldgirl@oldboy ~]$ ls -l /oldboy/

ls: cannot open directory /oldboy/: Permission denied

[oldgirl@oldboy ~]$ exit

logout

[root@oldboy ~]# ls -l /oldboy/

total 4

-rwxrwxrwx 1 oldboy incahome 17 Dec  4 17:47 test.sh

[root@oldboy ~]# su - test

[test@oldboy ~]$ rm /oldboy/test.sh

rm: cannot remove `/oldboy/test.sh': Permission denied

 

 

范例6:

[root@oldboy ~]# chmod 716 /oldboy/

[root@oldboy ~]# ls -ld /oldboy/

drwx--xrw- 2 oldboy incahome 4096 Dec  4 18:11 /oldboy/

[root@oldboy ~]# su - oldgirl

[oldgirl@oldboy ~]$ cd /oldboy/

[oldgirl@oldboy oldboy]$ pwd

/oldboy

[oldgirl@oldboy oldboy]$ su - test

Password:

[test@oldboy ~]$ cd /oldboy/

-bash: cd: /oldboy/: Permission denied

[test@oldboy ~]$ ls -l /oldboy/

ls: cannot access /oldboy/test.sh: Permission denied

total 0

-????????? ? ? ? ?            ? test.sh

 


免責聲明!

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



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