12.29node
linux r-w-x權限詳解linux
內容:vim
1. linux目錄權限體系bash
2. rwx權限的計算ide
3. rwx針對目錄或文件的具體含義測試
4. 更改權限---chmod命令spa
5. 一些關於權限類故障的排查過程與解決方法orm
r 4 w 2 x 1 - 0blog
[root@oldboy /]# ls -l /etc/hosts圖片
-rw-r--r--. 2 root root 177 May 20 2017 /etc/hosts
全部者 屬於的家庭(用戶組) 其餘人(陌生人)
主人 家人 陌生人
rw- r-- r--
1. 你誰 whoami
2. 你和他什麼關係
id oldboy 查看所屬用戶組
幾乎沒有和root同屬一個組
文件默認權限爲644 目錄默認權限755
u -userown文件全部者--(主人)
g -group (用戶組)
o -other (其餘用戶)
a 表示全部
u+x 爲全部者添加x權限
[root@oldboy oldboy]# ls -l test.sh
--w-r-xr-x. 1 oldboy oldboy 19 Dec 29 02:52 test.sh
[root@oldboy oldboy]# chmod u+x test.sh
[root@oldboy oldboy]# ls -l test.sh
--wxr-xr-x. 1 oldboy oldboy 19 Dec 29 02:52 test.sh
= 先去掉原來的權限 再增長相應權限
[root@oldboy oldboy]# chmod u=w test.sh
[root@oldboy oldboy]# ls -l test.sh
--w-r-xr-x. 1 oldboy oldboy 19 Dec 29 02:52 test.sh
給三種用戶都加上x權限1.
chmod ugo+x odlboy.sh
2.
chmod a+x test.sh
3. 適用 x 和 r 權限
chmod +x test.sh
chmod 644 oldboy.txt
例: 將oldboy.sh文件的屬主變爲oldboy用戶,屬組變爲oldboy組
chown oldboy.oldboy oldboy.sh
能夠單獨修改文件的搜有這或屬組
權限用來限制普通用戶,root用戶會有特權
mv /oldboy /tmp/oldboy_bak$(date +%F)
mkdir /oldboy -p
echo "echo oldboylinux" >/oldboy/test.sh 製做腳本文件,裏面存放命令
chmod +x /oldboy/test.sh
cat /oldboy/test.sh
ls -l /oldboy/test.sh
測試文件的r
#root修改權限
chmod u=r test.sh 只給oldboy用戶讀取權限
#oldboy用戶進行檢查
[oldboy@oldboyedu43-lnb ~]$ cd /oldboy/
[oldboy@oldboyedu43-lnb oldboy]$ ls -l test.sh
-r--r-xr-x 1 oldboy oldboy 17 Dec 28 14:39 test.sh
[oldboy@oldboyedu43-lnb oldboy]$ cat test.sh 能夠查看
echo oldboylinux
[oldboy@oldboyedu43-lnb oldboy]$ echo 'hostname' >>test.sh
-bash: test.sh: Permission denied 沒有寫入權限
[oldboy@oldboyedu43-lnb oldboy]$ ls
test.sh
[oldboy@oldboyedu43-lnb oldboy]$ /oldboy/test.sh 沒有寫入權限
-bash: /oldboy/test.sh: Permission denied
測試文件的w
#root修改權限
chmod u=w test.sh 只給oldboy用戶寫入權限
#oldboy用戶進行檢查
[oldboy@oldboyedu43-lnb oldboy]$ ls -l test.sh
w-r-xr-x 1 oldboy oldboy 17 Dec 28 14:39 test.sh
[oldboy@oldboyedu43-lnb oldboy]$ cat test.sh 不能查看內容
cat: test.sh: Permission denied
[oldboy@oldboyedu43-lnb oldboy]$ echo 'hostname' >>test.sh 能夠寫入
[oldboy@oldboyedu43-lnb oldboy]$ echo 'hostname' >>test.sh
[oldboy@oldboyedu43-lnb oldboy]$ /oldboy/test.sh 不能執行
-bash: /oldboy/test.sh: Permission denied
[oldboy@oldboyedu43-lnb oldboy]$ vim test.sh
echo www.oldboyedu.com
echo www.oldboyedu.com
[oldboy@oldboyedu43-lnb oldboy]$ cat test.sh
cat: test.sh: Permission denied
測試文件的x
#root修改權限
chmod u=x test.sh 只給oldboy用戶執行權限
#oldboy用戶進行檢查
[oldboy@oldboyedu43-lnb oldboy]$ cat test.sh 不可查看
cat: test.sh: Permission denied
[oldboy@oldboyedu43-lnb oldboy]$ echo 'pwd'>>test.sh 不可寫入
-bash: test.sh: Permission denied
[oldboy@oldboyedu43-lnb oldboy]$ /oldboy/test.sh 不可執行
bash: /oldboy/test.sh: Permission denied
增長了 r權限以後
[oldboy@oldboyedu43-lnb oldboy]$ cat /oldboy/test.sh
hostname
[oldboy@oldboyedu43-lnb oldboy]$ /oldboy/test.sh 可執行
oldboyedu43-lnb
[oldboy@oldboyedu43-lnb oldboy]$ ./test.sh
oldboyedu43-lnb
用r權限 用vim添增強制退出 覆蓋 echo不可用
用w權限 用vim添增強制退出 覆蓋 echo可用
1.這種狀況爲何被拒絕 屬主沒有權限 屬組不仍是有麼
[root@oldboy oldboy]# ll test.sh
---xrw-r--. 1 oldboy oldboy 19 Dec 29 02:52 test.sh
[oldboy@oldboy oldboy]$ echo 123 >>test.sh
-bash: test.sh: Permission denied
全部者沒有權限,不會找屬組的權限
2.超級大坑:即便文件沒有任何權限也能夠用vim來強制寫入內容。可是原內容會被清除,只會顯示用vim寫入的內容。這樣的話,豈不是文件的權限對vim來講就是個擺設了,能夠隨意清除原內容、。
文件的全部者默承認以強制修改該文件,對這個文件沒有任何權限的時候,原內容清空
root默認對全部文件具備讀寫權限,但默認沒有執行權限
r 查看目錄中內容 ls oldboyedu
w 能夠在目錄中 建立文件 刪除文件 重命名文件
x 表示是否能夠進入到目錄中 是否能查看/修改目錄文件的屬性信息
環境
mkdir /oldboy/oldboyedu
touch /oldboy/oldboyedu/{1..10}.txt
chown oldboy.oldboy /oldboy/oldboyedu
測試目錄的r
#root修改權限
chmod u=r oldboydir/ 給oldboy用戶查看內容權限
#oldboy用戶進行檢查
[oldboy@oldboyedu43-lnb oldboy]$ ls -ld oldboydir/
dr--r-xr-x 2 oldboy oldboy 4096 Dec 28 15:42 oldboydir/
[oldboy@oldboyedu43-lnb oldboy]$ ls oldboydir/
ls: cannot access oldboydir/04.txt: Permission denied 只能看到文件名,沒法看到詳細信息
ls: cannot access oldboydir/01.txt: Permission denied
01.txt 02.txt 03.txt 04.txt 05.txt 06.txt 07.txt 08.txt 09.txt 10.txt
[oldboy@oldboyedu43-lnb oldboy]$ ls -l oldboydir/
ls: cannot access oldboydir/10.txt: Permission denied
total 0
-????????? ? ? ? ? ? 09.txt
-????????? ? ? ? ? ? 10.txt
[oldboy@oldboyedu43-lnb oldboy]$ stat oldboydir/01.txt stat也不能用
stat: cannot stat `oldboydir/01.txt': Permission denied
目錄的r權限 須要有其餘權限的配合
#修改目錄的權限爲rx以後 問題解決
[oldboy@oldboyedu43-lnb oldboy]$ ls -ld oldboydir/
dr-xr-xr-x 2 oldboy oldboy 4096 Dec 28 15:42 oldboydir/
[oldboy@oldboyedu43-lnb oldboy]$ ls oldboydir/
01.txt 02.txt 03.txt 04.txt 05.txt 06.txt 07.txt
[oldboy@oldboyedu43-lnb oldboy]$ ls -l oldboydir/
total 0
-rw-r--r-- 1 root root 0 Dec 28 15:42 01.txt
-rw-r--r-- 1 root root 0 Dec 28 15:42 02.txt
[oldboy@oldboyedu43-lnb oldboy]$ stat oldboydir/01.txt
File: `oldboydir/01.txt'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 803h/2051d Inode: 151129 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-12-28 15:42:11.901743051 +0800
Modify: 2017-12-28 15:42:11.901743051 +0800
Change: 2017-12-28 15:42:11.901743051 +0800
小結:
目錄的r權限 能夠查看目錄裏面的內容
目錄的r權限 須要x權限的配合
測試目錄的w
root修改權限
chmod u=w oldboydir/ 給用戶w權限
oldboy用戶進行檢查
[oldboy@oldboyedu43-lnb oldboy]$ ls -ld oldboydir/
d-w-r-xr-x 2 oldboy oldboy 4096 Dec 28 15:42 oldboydir/
[oldboy@oldboyedu43-lnb oldboy]$ ls oldboydir/ 不能夠查看
ls: cannot open directory oldboydir/: Permission denied
[oldboy@oldboyedu43-lnb oldboy]$ touch oldboydir/oldboy.txt 不可建立文件
touch: cannot touch `oldboydir/oldboy.txt': Permission denied
[oldboy@oldboyedu43-lnb oldboy]$ \rm oldboydir/01.txt -f 不可刪除文件
rm: cannot remove `oldboydir/01.txt': Permission denied
目錄的w權限 須要有其餘權限的配合
修改目錄的權限爲wx以後 問題解決
[oldboy@oldboyedu43-lnb oldboy]$ ls -ld oldboydir/
d-wxr-xr-x 2 oldboy oldboy 4096 Dec 28 15:42 oldboydir/
[oldboy@oldboyedu43-lnb oldboy]$ touch oldboydir/oldboy.txt
[oldboy@oldboyedu43-lnb oldboy]$ \rm oldboydir/01.txt -f
小結:
w 在目錄中 建立 刪除 文件
w權限須要x權限配合
測試x
單獨的x權限沒有用
[oldboy@oldboyedu43-lnb oldboydir]$ ls -l oldboy.txt
-rwxrwxrwx 1 oldboy oldboy 0 Dec 28 16:01 oldboy.txt 文件權限777
[oldboy@oldboyedu43-lnb oldboydir]$ \rm -f oldboy.txt 屬主沒有刪除文件的權限
rm: cannot remove `oldboy.txt': Permission denied
!!!!刪除一個文件,你須要對文件所在目錄擁有wx權限。
inode 文件屬性 block存放的是數據
文件名 存放在文件所在目錄的block裏面
inode 文件屬性 block存放的是數據
文件名 存放在文件所在目錄的block
因此刪除一個文件須要對其所在目錄有相應權限---刪除文件名至關於刪除包含它的目錄的一些內容 (重點)
文件或目錄權限錯誤排查過程
排查報錯緣由(用戶查看文件原理)
總結:
1.你對某個文件擁有什麼權限
2.報錯:permission denied錯誤 排查報錯緣由
3.繪製圖片 排錯圖片
4.對於文件或目錄 rwx含義
5.幾個命令