我能幹什麼?這是我最關心的問題!node
切換到普通用戶linux
[root@luffy-01 ~]# su - pizza [pizza@luffy-01 ~]$ ls /root ls: cannot open directory /root: Permission denied [pizza@luffy-01 ~]$ rm -f /etc/passwd rm: cannot remove `/etc/passwd': Permission denied 無權限,沒法操做
一、看看你是誰vim
whoami安全
[pizza@luffy-01 ~]$ whoami
pizza
二、你與至個文件有什麼關係bash
是 主人,家人,仍是陌生人服務器
先查看文件app
[pizza@luffy-01 ~]$ ls -l /oldboy/alex.txt
-rw-r--r--. 2 root root 19 Jan 15 11:33 /oldboy/alex.txt
id 查看身份======>groups,查看是否是和文件的主人是一家子網站
[pizza@luffy-01 ~]$ id
uid=500(pizza) gid=500(pizza) groups=500(pizza)
[pizza@luffy-01 ~]$ id root
uid=0(root) gid=0(root) groups=0(root)
結果:文件屬於root家族,pizza是這個文件的陌生人,pizza的權限是9位權限的最後3位r--ui
r======4 w 2 x 1 - 0 -rw------- 420000000 6 0 0 -rw-r--r-- 420400400 6 4 4 drwxr-xr-x 421401401 7 5 5
chmod ===change mode 1]使用數字的方法修改權限 chmod 755 oldboy.txt 2]使用字符 主人 家人 陌生人 user group other u g o [root@oldboyedu01-nb oldboy]# ls -l oldboy.txt -rw-r--r--. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chmod u+x oldboy.txt 添加執行權限 [root@oldboyedu01-nb oldboy]# ls -l oldboy.txt -rwxr--r--. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chmod u-x oldboy.txt 去除x權限 [root@oldboyedu01-nb oldboy]# ls -l oldboy.txt -rw-r--r--. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chmod u=x oldboy.txt 先清空,再添加 [root@oldboyedu01-nb oldboy]# ll oldboy.txt ---xr--r--. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chmod u=rwx oldboy.txt [root@oldboyedu01-nb oldboy]# ll oldboy.txt -rwxr--r--. 2 root root 252 Oct 18 09:10 oldboy.txt 3]給文件添加上執行權限 chmod +x oldboy.txt === chmod ugo+x oldboy.txt === chmod a+x oldboy.txt 4]修改文件的全部者和所屬用戶組 chown change owner [root@oldboyedu01-nb oldboy]# ls -l oldboy.txt -rwxr-xr-x. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chown oldboy.oldboy oldboy.txt [root@oldboyedu01-nb oldboy]# ll oldboy.txt -rwxr-xr-x. 2 oldboy oldboy 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# [root@oldboyedu01-nb oldboy]# [root@oldboyedu01-nb oldboy]# [root@oldboyedu01-nb oldboy]# chown root oldboy.txt [root@oldboyedu01-nb oldboy]# ll oldboy.txt -rwxr-xr-x. 2 root oldboy 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# [root@oldboyedu01-nb oldboy]# chown root.root oldboy.txt [root@oldboyedu01-nb oldboy]# ll oldboy.txt -rwxr-xr-x. 2 root root 252 Oct 18 09:10 oldboy.txt [root@oldboyedu01-nb oldboy]# chown oldboy.oldboy oldboy.txt [root@oldboyedu01-nb oldboy]# ll oldboy.txt -rwxr-xr-x. 2 oldboy oldboy 252 Oct 18 09:10 oldboy.txt
準備環境spa
mkdir -p /oldboy echo -e 'hostname\npwd' >/oldboy/alex.sh chown oldboy.oldboy /oldboy/alex.sh ll /oldboy/alex.sh root用戶 oldboy用戶
前提:對於普通非root用戶
root用戶下面修改 r權限
[root@luffy-01 ~]# chown oldboy.oldboy /oldboy/alex.sh [root@luffy-01 ~]# ll /oldboy/alex.sh -rw-r--r-- 1 oldboy oldboy 13 Jan 15 23:23 /oldboy/alex.sh [root@luffy-01 ~]# chmod u=r /oldboy/alex.sh [root@luffy-01 ~]# ll /oldboy/alex.sh -r--r--r-- 1 oldboy oldboy 13 Jan 15 23:23 /oldboy/alex.sh
oldboy用戶下驗證
[oldboy@luffy-01 ~]$ ll /oldboy/alex.sh -r--r--r-- 1 oldboy oldboy 13 Jan 15 23:23 /oldboy/alex.sh # 可讀
[oldboy@luffy-01 ~]$ cat /oldboy/alex.sh
hostname
pwd [oldboy@luffy-01 ~]$ echo 'ls -ld /root' >>/oldboy/alex.sh #沒有寫入權限 -bash: /oldboy/alex.sh: Permission denied [oldboy@luffy-01 ~]$ /oldboy/alex.sh # 沒有執行權限 -bash: /oldboy/alex.sh: Permission denied
root下面修改 w
chown: invalid user: `u=w' [root@luffy-01 ~]# chmod u=w /oldboy/alex.sh
oldboy用戶下面驗證
[oldboy@luffy-01 ~]$ ll /oldboy/alex.sh --w-r--r-- 1 oldboy oldboy 13 Jan 15 23:23 /oldboy/alex.sh [oldboy@luffy-01 ~]$ cat /oldboy/alex.sh cat: /oldboy/alex.sh: Permission denied [oldboy@luffy-01 ~]$ echo 'ls -ld /root' >>/oldboy/alex.sh [oldboy@luffy-01 ~]$ /oldboy/alex.sh -bash: /oldboy/alex.sh: Permission denied [oldboy@luffy-01 ~]$ cat /oldboy/alex.sh cat: /oldboy/alex.sh: Permission denied
寫進去了,卻不能查看,那就是然並卵了
用VIM進去,什麼也看不了,寫入後,提示只讀權限,
退出後vim後,在root用戶下查看,顯示的是已經被修改的內容。
因此,只有w權限是沒什麼用的
小結:
1.r讀取文件內容 2.w修改文件的內容,可是須要r的配合 沒有r配合強制修改退出,會清空文件的內容
root下面修改 x
[root@luffy-01 ~]# ll /oldboy/alex.sh ---xr--r-- 1 oldboy oldboy 26 Jan 15 23:44 /oldboy/alex.sh
更改成x權限會變成綠色
oldboy用戶下面驗證
[oldboy@luffy-01 ~]$ ll /oldboy/alex.sh ---xr--r-- 1 oldboy oldboy 26 Jan 15 23:44 /oldboy/alex.sh [oldboy@luffy-01 ~]$ echo 'w' >> /oldboy/alex.sh -bash: /oldboy/alex.sh: Permission denied [oldboy@luffy-01 ~]$ /oldboy/alex.sh bash: /oldboy/alex.sh: Permission denied
運行不了
加上r權限
[oldboy@luffy-01 ~]$ ll /oldboy/alex.sh -r-xr--r-- 1 oldboy oldboy 26 Jan 15 23:44 /oldboy/alex.sh [oldboy@luffy-01 ~]$ /oldboy/alex.sh luffy-01 /home/oldboy dr-xr-x---. 2 root root 4096 Jan 15 15:00 /root
能夠運行了
小結:
對於文件來講rwx小結: 1.r讀取文件內容 2.w修改文件的內容,可是須要r的配合 沒有r配合強制修改退出,會清空文件的內容 3.x權限執行,須要r權限的配合
r 查看目錄裏面的內容, ls
w 能夠在目錄裏面建立 刪除 重命名文件
x 能夠進入(cd)到這個目錄
建立環境
mkdir -p /oldboy/alexdir chown oldboy.oldboy /oldboy/alexdir touch /oldboy/alexdir/luffy{01..5}.txt
root下修改目錄權限r
[root@luffy-01 oldboy]# ll -d alexdir/ 加-d是爲了把目錄當作文件對待,不然就是查看目錄裏面的內容了 drwxr-xr-x 2 oldboy oldboy 4096 Jan 16 00:03 alexdir/ [root@luffy-01 oldboy]# chmod u=r alexdir/ [root@luffy-01 oldboy]# ll -d alexdir/ dr--r-xr-x 2 oldboy oldboy 4096 Jan 16 00:03 alexdir/
oldboy下驗證
[oldboy@luffy-01 oldboy]$ ls -ld alexdir/ dr--r-xr-x 2 oldboy oldboy 4096 Jan 16 00:03 alexdir/ [oldboy@luffy-01 oldboy]$ ls -l alexdir/ ls: cannot access alexdir/luffy01.txt: Permission denied ls: cannot access alexdir/luffy05.txt: Permission denied ls: cannot access alexdir/luffy04.txt: Permission denied ls: cannot access alexdir/luffy02.txt: Permission denied ls: cannot access alexdir/luffy03.txt: Permission denied total 0 -????????? ? ? ? ? ? luffy01.txt -????????? ? ? ? ? ? luffy02.txt -????????? ? ? ? ? ? luffy03.txt -????????? ? ? ? ? ? luffy04.txt -????????? ? ? ? ? ? luffy05.txt [oldboy@luffy-01 oldboy]$ ls alexdir/ ls: cannot access alexdir/luffy01.txt: Permission denied ls: cannot access alexdir/luffy05.txt: Permission denied ls: cannot access alexdir/luffy04.txt: Permission denied ls: cannot access alexdir/luffy02.txt: Permission denied ls: cannot access alexdir/luffy03.txt: Permission denied luffy01.txt luffy02.txt luffy03.txt luffy04.txt luffy05.txt
沒法看到文件的詳細信息
root下加入x權限
[oldboy@luffy-01 oldboy]$ ls alexdir/ luffy01.txt luffy02.txt luffy03.txt luffy04.txt luffy05.txt [oldboy@luffy-01 oldboy]$ ls -l alexdir/ total 0 -rw-r--r-- 1 root root 0 Jan 16 00:03 luffy01.txt -rw-r--r-- 1 root root 0 Jan 16 00:03 luffy02.txt -rw-r--r-- 1 root root 0 Jan 16 00:03 luffy03.txt -rw-r--r-- 1 root root 0 Jan 16 00:03 luffy04.txt -rw-r--r-- 1 root root 0 Jan 16 00:03 luffy05.txt
能夠查看了
小結:
1.對於目錄來講 r表示 查看目錄裏面內容的權限,ls 須要x配合
2.沒有x權限,那麼顯示的時候文件的屬性沒法顯示
root下修改目錄的w
[root@luffy-01 oldboy]# chmod u=w alexdir/
[root@luffy-01 oldboy]# ls -ld alexdir/
d-w-r-xr-x 2 oldboy oldboy 4096 Jan 16 00:03 alexdir/
oldboy下驗證
[oldboy@luffy-01 oldboy]$ ll alexdir/ ls: cannot open directory alexdir/: Permission denied [oldboy@luffy-01 oldboy]$ touch alexdir/txt.txt touch: cannot touch `alexdir/txt.txt': Permission denied [oldboy@luffy-01 oldboy]$ rm alexdir/luffy01.txt rm: cannot remove `alexdir/luffy01.txt': Permission denied
各類操做都不行
添加x權限
[oldboy@luffy-01 oldboy]$ ll alexdir/ ls: cannot open directory alexdir/: Permission denied [oldboy@luffy-01 oldboy]$ ll alexdir/ -d d-wxr-xr-x 2 oldboy oldboy 4096 Jan 16 00:03 alexdir/ [oldboy@luffy-01 oldboy]$ touch alexdir/txt.txt
能夠添加和刪除了,可是沒法查看目錄
小結;
1.w表示 能夠在目錄中建立 刪除文件 重命名文件權限
2.只有w沒法刪除 建立文件,w須要x配合
root下修改x
[root@luffy-01 oldboy]# chmod u=x alexdir/ [root@luffy-01 oldboy]# ls -ld alexdir/ d--xr-xr-x 2 oldboy oldboy 4096 Jan 16 00:22 alexdir/
oldboy下面驗證
[oldboy@luffy-01 oldboy]$ cd alexdir/ [oldboy@luffy-01 alexdir]$ ll ls: cannot open directory .: Permission denied
總結:
文件 目錄
r 讀取文件的內容 查看目錄的內容(須要x權限)
w 修改文件的內容(須要r) 在目錄下面建立 刪除文件(須要x權限)
x 執行文件(須要r) 進入到目錄的權限(cd)
!!!!!!刪除一個文件,要看你對這個文件所在的目錄是否有wx權限。
全部者、家庭、隔壁老王======>rw- r- - r-- 644
全部者、家庭、隔壁老王======>rwx r-x r-x 755
root root
blog.youxiaodao.com
網站程序放在/app/blog目錄下面
#0.網站須要被運行起來,經過一個傀儡用戶運行起來的www #1.blog目錄下面 file 644
dir 755
root root #2.blog目錄下面 /app/blog/ndd.jpg /app/blog/snow.jpg /app/blog/budongde.avi /app/blog/上傳/lwang.jpg /app/blog/上傳/lzhang.avi blog/上船
file644 dir755
www www
小結:
1.網站是經過傀儡用戶運行的www 2.網站用戶上傳目錄,file 644 dir 755 www www 3.除了上傳目錄以外 file 644 dir 755 root root
[root@luffy-01 oldboy]# umask 0022 [oldboy@luffy-01 alexdir]$ umask 0002
文件的最大的權限 666
目錄的最大的權限 777
那麼,0022 和666/777有什麼關係呢?
####umask 022 #umask ##根據umask計算文件的默認權限 ##666 #-022 減去022 #=644 ##根據umask計算目錄的默認權限 ##777 #-022 #=755 ####umask 032 ##根據umask計算文件的默認權限 ##666 #-032 #=634 #+010 遇到奇數 +1 =644 ##根據umask計算目錄的默認權限 ##777 #-032 #=745 [root@online01 oldboy]# touch file032 [root@online01 oldboy]# mkdir dir032 [root@online01 oldboy]# ls -ld *032 drwxr--r-x. 2 root root 4096 Nov 8 05:22 dir032 -rw-r--r--. 1 root root 0 Nov 8 05:22 file032 根據umask計算出系統默認的權限規則 1.對於目錄 777直接減去umask 2.對於文件 666減去umask的值,若是umask某一位上面是奇數,減完umask以後奇數位須要+1
umask的修改
[oldboy@luffy-01 alexdir]$ umask 032 [oldboy@luffy-01 alexdir]$ umask 0032
[oldboy@luffy-01 alexdir]$ lsattr txt.txt -------------e- txt.txt
查看系統屬性,或者叫作隱藏的屬性
共有9個,經常使用的有兩個a和i
文件系統屬性中的a和i
[root@online01 ~]# #a=====append 只能追加 [root@online01 ~]# #i=====immutable 無敵的 不可修改的 [root@online01 ~]# lsattr oldboy.txt -------------e- oldboy.txt [root@online01 ~]# chattr +a oldboy.txt
chattr授予文件或者目錄隱藏的權限
+a 或者 -a
[root@online01 ~]# lsattr oldboy.txt -----a-------e- oldboy.txt [root@online01 ~]# cat oldboy.txt hello.txt [root@online01 ~]# echo hello >>oldboy.txt [root@online01 ~]# echo hello >>oldboy.txt [root@online01 ~]# cat oldboy.txt hello.txt hello hello [root@online01 ~]# echo hello >oldboy.txt -bash: oldboy.txt: Operation not permitted [root@online01 ~]# rm -f oldboy.txt rm: cannot remove `oldboy.txt': Operation not permitted [root@online01 ~]# mv oldboy.txt /tmp/ mv: cannot move `oldboy.txt' to `/tmp/oldboy.txt': Operation not permitted [root@online01 ~]# echo hello >>oldboy.txt -bash: oldboy.txt: Permission denied [root@online01 ~]# echo hello >oldboy.txt -bash: oldboy.txt: Permission denied [root@online01 ~]# rm -f oldboy.txt rm: cannot remove `oldboy.txt': Operation not permitted [root@online01 ~]# mv oldboy.txt /tmp/ mv: cannot move `oldboy.txt' to `/tmp/oldboy.txt': Operation not permitted
S s -rws r-x r-x
做用:運行某一個命令的時候至關於這個命令的全部者(root)
設置方法:chmod u+s /bin/rm 或者 chmod 4755 /bin/rm
危險:全部用戶運行命令的時候都至關因而root
例子:passwd命令
看一下設置s屬性後的文件權限信息
[root@luffy-01 oldboy]# chmod u+s /bin/cat [root@luffy-01 oldboy]# ll /bin/cat -rwsr-xr-x. 1 root root 48568 Mar 23 2017 /bin/cat [root@luffy-01 oldboy]# stat /bin/cat File: `/bin/cat' Size: 48568 Blocks: 96 IO Block: 4096 regular file Device: 803h/2051d Inode: 13599 Links: 1 Access: (4755/-rwsr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-01-15 08:42:00.072999999 +0800 Modify: 2017-03-23 02:52:45.000000000 +0800 Change: 2019-01-16 01:31:49.911687040 +0800
權限變成了4 755
特色:
一、任何用戶均可以在這個目錄裏面建立文件(原來的權限是777)
二、每一個人只能管理本身的文件,其餘人處理不了
[root@luffy-01 oldboy]# stat /tmp/ File: `/tmp/' Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 803h/2051d Inode: 12 Links: 3 Access: (1777/drwxrwxrwt) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2019-01-15 17:29:10.881710386 +0800 Modify: 2019-01-15 15:28:55.581985449 +0800 Change: 2019-01-15 15:28:55.581985449 +0800
運行這個命令的時候,至關於這個命令的家人
一、Linux權限體系
1.rwx是啥
2.rwx對應的數字 及計算方法 rwxr-xr-x
3.chmod 命令的使用
4.對於文件來講r w x 是什麼含義 *****
5.對於目錄來講r w x 是什麼含義 *****
6.網站權限-經過控制權限讓網站安全
7.linux系統默認權限控制命令umask
8.文件系統屬性(文件屬性)
前面的知識總結
一、正則總結
二、特殊符合總結 無分類系列 $ ! | # 引號系列 $() `` '' "" 重定向系列 > >> 2> 2>> < << 位置系列 ~ . .. 判斷系列 && || 3.第三關練習題-取出ip地址 權限 4.使用三劍客進行過濾grep sed awk 如何使用三劍客命令過濾出文件中以oldboy開頭的行(文件名是oldboy.txt,至少3種方法) 5.修改時間 linux快捷鍵 vi/vim快捷鍵 6.文件還有目錄權限 rwx含義 7.網站權限-經過控制權限讓網站安全 8.linux系統默認權限控制命令umask 9.文件系統屬性(文件屬性) 10.linux沒法上網 11.沒法遠程鏈接服務器 進階知識: 安裝和使用lrzsz htop