天天看點

權限

1.root使用者下面修改權限   測試r權限 

oldboy使用者隻有r 權限

[root@oldboyedu50-lnb /oldboy]# chmod u=r test.sh

[root@oldboyedu50-lnb /oldboy]# ll test.sh

-r--r--r--. 1 oldboy oldboy 9 Aug  6 12:32 test.sh

#oldboy使用者下面測試

[oldboy@oldboyedu50-lnb /oldboy]$ ll test.sh

[oldboy@oldboyedu50-lnb /oldboy]$ cat test.sh

hostname

[oldboy@oldboyedu50-lnb /oldboy]$ echo 'pwd'>>test.sh

-bash: test.sh: Permission denied

[oldboy@oldboyedu50-lnb /oldboy]$ /oldboy/test.sh

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

2.root使用者下面修改權限   測試w權限 

oldboy使用者隻有w 權限

[root@oldboyedu50-lnb /oldboy]# chmod u=w test.sh

--w-r--r--. 1 oldboy oldboy 9 Aug  6 12:32 test.sh

oldboy使用者下面測試

cat: test.sh: Permission denied

[oldboy@oldboyedu50-lnb /oldboy]$ echo 'pwd' >>test.sh

[oldboy@oldboyedu50-lnb /oldboy]$

3.root使用者下面修改權限   測試x權限 

oldboy使用者             隻有x 權限

[root@oldboyedu50-lnb /oldboy]# chmod u=x test.sh

---xr--r--. 1 oldboy oldboy 13 Aug  6 12:56 test.sh

bash: /oldboy/test.sh: Permission denied

rwx權限小結:

1.r讀取檔案内容

2.w修改檔案内容           需要r權限配合

  隻有w權限的時候 強制儲存退出會導緻源檔案内容丢失

3.x權限表示是否能執行腳本 需要r權限配合

建立環境

mkdir -p /oldboy/test

touch /oldboy/test/oldboy{01..5}.txt

chown oldboy.oldboy /oldboy/test/

[root@oldboyedu50-lnb /oldboy]# ll /oldboy/test -d

drwxr-xr-x. 2 oldboy oldboy 4096 Aug  6 13:02 /oldboy/test

[root@oldboyedu50-lnb /oldboy]# ll /oldboy/test

total 4

-rw-r--r--. 1 root root 8 Jul 16 19:24 del.sh

-rw-r--r--  1 root root 0 Aug  6 13:02 oldboy01.txt

-rw-r--r--  1 root root 0 Aug  6 13:02 oldboy02.txt

-rw-r--r--  1 root root 0 Aug  6 13:02 oldboy03.txt

-rw-r--r--  1 root root 0 Aug  6 13:02 oldboy04.txt

-rw-r--r--  1 root root 0 Aug  6 13:02 oldboy05.txt

目錄的rwx權限

r  檢視目錄内容    ls

w  可以删除 建立 重命名  目錄中的檔案

x  是否能進入到目錄 cd

oldboy使用者             隻有r 權限

[root@oldboyedu50-lnb /oldboy]# chmod u=r test

[root@oldboyedu50-lnb /oldboy]# ll -d test

dr--r-xr-x. 2 oldboy oldboy 4096 Aug  6 13:02 test

[oldboy@oldboyedu50-lnb /oldboy]$ ls test

ls: cannot access test/oldboy05.txt: Permission denied

ls: cannot access test/oldboy04.txt: Permission denied

ls: cannot access test/oldboy01.txt: Permission denied

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

ls: cannot access test/oldboy02.txt: Permission denied

ls: cannot access test/oldboy03.txt: Permission denied

del.sh  oldboy01.txt  oldboy02.txt  oldboy03.txt  oldboy04.txt  oldboy05.txt

[oldboy@oldboyedu50-lnb /oldboy]$ ls -l test

total 0

-????????? ? ? ? ?            ? del.sh

-????????? ? ? ? ?            ? oldboy01.txt

-????????? ? ? ? ?            ? oldboy02.txt

-????????? ? ? ? ?            ? oldboy03.txt

-????????? ? ? ? ?            ? oldboy04.txt

-????????? ? ? ? ?            ? oldboy05.txt

oldboy使用者             隻有w 權限

[root@oldboy50-01 ~]# mkdir -p /oldboy/test

[root@oldboy50-01 ~]# cd /oldboy/test/

[root@oldboy50-01 /oldboy/test]# touch old{1..5}.txt

[root@oldboy50-01 /oldboy/test]# chown oldboy.oldboy /oldboy/test/

d-wxr--r-- 2 oldboy oldboy 4096 Aug  6 22:46 test

[root@oldboy50-01 /oldboy]# chmod o=w test/

[root@oldboy50-01 /oldboy]# ll -d test/

d-wxr---w- 2 oldboy oldboy 4096 Aug  6 22:46 test/

[oldboy@oldboy50-01 /oldboy]$ cd /oldboy/test

[oldboy@oldboy50-01 /oldboy/test]$ ll

ls: cannot open directory .: Permission denied

[oldboy@oldboy50-01 /oldboy/test]$ \rm -rf /oldboy/test/old1.txt

[root@oldboy50-01 /oldboy]# ll /oldboy/test/

-rw-r--r-- 1 root root 0 Aug  6 22:46 old2.txt

-rw-r--r-- 1 root root 0 Aug  6 22:46 old3.txt

-rw-r--r-- 1 root root 0 Aug  6 22:46 old4.txt

-rw-r--r-- 1 root root 0 Aug  6 22:46 old5.txt

-rw-r--r-- 1 root root 0 Aug  6 19:33 oldboy03.txt

-rw-r--r-- 1 root root 0 Aug  6 19:33 oldboy04.txt

-rw-r--r-- 1 root root 0 Aug  6 19:33 oldboy05.txt

目錄權限小結:

1. r 顯示目錄内容          需要x權限配合

2. w 是否能删除目錄内容    在目錄中建立檔案   修改(重命名)

3. x 是否能進入到目錄 cd  (你是否能檢視目錄中檔案的屬性)

4.   删除一個檔案          看檔案所在目錄的權限 是否有wx權限 

1.沒有可讀或可執行權限

[oldboy@oldboyedu50-lnb /]$ ls /root/

ls: cannot open directory /root/: Permission denied

2.沒有可寫可執行權限

[oldboy@oldboyedu50-lnb /]$ touch /etc/passwd.txt

touch: cannot touch `/etc/passwd.txt': Permission denied

3.目前目錄沒有課寫可執行權限

[oldboy@oldboyedu50-lnb /]$ \rm -f /etc/sysconfig/network

rm: cannot remove `/etc/sysconfig/network': Permission denied

4.沒有可寫權限

[oldboy@oldboyedu50-lnb /]$ echo '#oldboy'  >>/etc/hosts

-bash: /etc/hosts: Permission denied

5.此檔案沒有任何權限

[oldboy@oldboyedu50-lnb /]$ cat /etc/shadow

cat: /etc/shadow: Permission denied

cat oldboy.txt

           inode     block

檔案       檔案屬性  資料(檔案内容)

目錄       目錄屬性  檔案名

cat  /oldboy/lidao/test.sh

權限可能與檔案所在的目錄及上級目錄 及 目錄有關

控制系統預設權限 umask

umask

022

檔案一般可以給的最大權限:666

目錄一般可以給的最大權限:777

檔案預設的權限 

   666

  -022

  =644

目錄預設的權限

   777

  =755

  特殊情況:

   umask  032

   檔案

   032

   634

  +010

  umask是 035 系統檔案預設權限是? 目錄權限是?

  檔案 

  666

 -035

 =631

 +011

  642

  目錄

  777

  035

  742

666

 網站 blog.oldboyedu.com 

1.網站通過www使用者運作(虛拟使用者)

2.控制目錄/app/blog 權限

  file  644   root root 

  dir   755   root root 

 3.網站上傳目錄upload

  file  644   www  www

  dir   755   www  www

模拟環境

mkdir -p /app/blog  /app/blog/upload  

touch    /app/blog/tao.avi /app/blog/dao.mp4  /app/blog/ndd.torrent

useradd  www

[www@oldboyedu50-lnb /app/blog]$ touch upload/499G.torrent

touch: cannot touch `upload/499G.torrent': Permission denied

什麼原因及怎麼解決

[root@oldboyedu50-lnb /oldboy]# chown www.www /app/blog/upload/

網站整體結構

檢視檔案擴充屬性。

檔案擴充屬性和檔案權限最重要的不同在于屬性并不依賴于某個使用者帳号

改變檔案的擴充屬性。

權限設定

   + 增權重限

   - 取消權限

   =  唯一設定權限

屬性

a:隻能在添加模式下打開用于寫入. 隻有root可以設定或清除該屬性

i:該檔案屬性無法修改,隻有root可設定或清除該屬性(在網卡DNS覆寫/etc/resolv.conf中的DNS時,将resolv.conf的屬性設為i,可防止覆寫)

[root@oldboyedu50-lnb /oldboy]# chattr +a test.sh

[root@oldboyedu50-lnb /oldboy]# lsattr  test.sh

-----a-------e- test.sh

[root@oldboyedu50-lnb /oldboy]# #a  append  隻能追加

[root@oldboyedu50-lnb /oldboy]# >test.sh

-bash: test.sh: Operation not permitted

[root@oldboyedu50-lnb /oldboy]# echo pwd >>test.sh

[root@oldboyedu50-lnb /oldboy]# \rm -f test.sh

rm: cannot remove `test.sh': Operation not permitted