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