18.1.2html
linux目錄文件隱藏屬性和特殊權限linux
第1章 網站權限-經過控制權限讓網站安全
安全
file rw-r--r-- root root oldboy.txtbash
dir rwxr-xr-x root root oldboy.txt服務器
file 644 dir 755 屬於 root網絡
/app/blog 網站程序存放app
/app/blog/upload 用戶上傳目錄(用戶的頭像 上傳的圖片或附件)ide
1.blog目錄 測試
file 644 root root 網站
dir 755 root root
2.blog/upload目錄
file 644 www www
dir 755 www www
運行博客 經過www用戶(虛擬用戶,被破譯也不能夠登陸系統)運行 (root用戶運行太危險,一旦破解就掌控了服務器)
useradd www (普通用戶)
mkdir -p /app/blog/upload
touch /app/blog/awk.html /app/blog/renyi.jpg /app/blog/li.avi
su - www
#www用戶上傳一個文件
#www用戶在 upload裏面建立一個文件
[www@oldboyedu43-lnb blog]$ touch upload/oldboy.jpg
touch: cannot touch `upload/oldboy.jpg': Permission denied
[www@oldboyedu43-lnb blog]$ #upload目錄
[www@oldboyedu43-lnb blog]$ ls -ld upload/
drwxr-xr-x 2 root root 4096 Dec 28 17:47 upload/
[www@oldboyedu43-lnb blog]$ #其餘人 r-x
chmod o+w upload
drwxr-xrwx 2 root root 4096 Dec 28 17:47 upload/
權限太大了
chown www.www upload
drwxr-xr-x 2 www www 4096 Dec 28 17:47 upload/
noexec 不讓運行
最後 只能上傳,不能查看
1) --網站是以www用戶的身份運行
網站權限的控制 2)--file 644 dir 755 root root
3)upload file 644 www www
代碼程序控制 1)--上傳上來的文件沒法運行
2)--上傳上來沒有執行權限
file 666
dir 777
0022
file 666
-022
=644
dir 777
-022
=755
臨時
[root@oldboy ~]# umask 032
[root@oldboy ~]# umask
0032
新建立文件
file 666
-032
=634
+010
=644
文件:奇數位加一
新建立目錄
dir 777
-032
=745
目錄正常
永久(瞭解,千萬不要改)
/etc/profile 千萬不能改
if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask 002
else
umask 022
fi
若是 [ 當前用戶uid > 199 ] 而且 [ "用戶組名字" = "用戶的名字" ]; 而後
umask 002
那麼
umask 022
果如
查看文件系統屬性lsattr = == ==ls attribute
[root@oldboy ~]# lsattr
-------------e- ./install.log.syslog
-------------e- ./oldboy.txt
修改文件系統屬性chattr = = == = change attr + 加某種屬性 - 去除某種屬性
a ==只能追加 (不能刪除或修改原文件內容,只能在最後追加)
i ==無敵了(不能刪除,修改或追加)
例1: a屬性
[root@oldboy ~]# lsattr oldboy.txt 查看文件系統屬性
-------------e- oldboy.txt
[root@oldboy ~]# chattr +a oldboy.txt 爲文件加上a屬性
[root@oldboy ~]# lsattr oldboy.txt
-----a-------e- oldboy.txt
[root@oldboy ~]# echo "I love you">>oldboy.txt 能夠爲文件追加內容
[root@oldboy ~]# echo "I love you">oldboy.txt 不能夠清空原文件增長內容
-bash: oldboy.txt: Operation not permitted
[root@oldboy ~]# rm -f oldboy.txt 不能夠刪除原文件
rm: cannot remove `oldboy.txt': Operation not permitted
[root@oldboy ~]# chattr -a oldboy.txt 最後實驗完記得把文集系統屬性改回來
[root@oldboy ~]# lsattr oldboy.txt
-------------e- oldboy.txt
例2: i屬性
[root@oldboy ~]# lsattr oldboy.txt 查看文件屬性
-------------e- oldboy.txt
[root@oldboy ~]# chattr +i oldboy.txt 爲文件加上i屬性
[root@oldboy ~]# lsattr oldboy.txt
----i--------e- oldboy.txt
[root@oldboy ~]# echo "I love you">>oldboy.txt 不可往文件中追加內容
-bash: oldboy.txt: Permission denied
[root@oldboy ~]# echo "I love you">oldboy.txt 不可清空文件
-bash: oldboy.txt: Permission denied
[root@oldboy ~]# \rm -f oldboy.txt 不可刪除文件
rm: cannot remove `oldboy.txt': Operation not permitted
[root@oldboy ~]# chattr -i oldboy.txt 實驗完記得把文件系統屬性改回來
[root@oldboy ~]# lsattr oldboy.txt
-------------e- oldboy.txt
主要命令文件 +i
重要配置文件 +a
w 查看系統負載
top 動態查看負載 (顯示不全)
做業:yum安裝 --(爲何安不上 怎麼及解決)
htop升級版的top
iotop 查詢系統磁盤讀寫
iftop 查看網絡信息 流量
[root@oldboy ~]# ls -ld /usr/bin/passwd /tmp/ /usr/bin/locate
drwxrwxrwt. 5 root root 4096 Jan 2 03:42 /tmp/ 特殊權限,顏色的不一樣
-rwx--s--x. 1 root slocate 38464 Mar 12 2015 /usr/bin/locate t權限和s權限
-rwsr-xr-x. 1 root root 30768 Nov 24 2015 /usr/bin/passwd
[root@oldboy ~]# ls -l /usr/bin/passwd 查看文件隱藏權限
-rwsr-xr-x. 1 root root 30768 Nov 24 2015 /usr/bin/passwd
[root@oldboy ~]# chmod u-s /usr/bin/passwd 爲文件去除s隱藏權限
[root@oldboy ~]# ls -l /usr/bin/passwd
-rwxr-xr-x. 1 root root 30768 Nov 24 2015 /usr/bin/passwd
[root@oldboy ~]# chmod u+s /usr/bin/passwd 也能夠 chmod 4755 爲文件添加s隱藏權限
[root@oldboy ~]# ls -l /etc/shadow 用戶密碼文件默認都沒有任何權限
----------. 1 root root 1094 Jan 2 01:20 /etc/shadow
[root@oldboy ~]# su - oldboy
[oldboy@oldboy ~]$ passwd oldboy用戶能夠設置本身的密碼
Changing password for user oldboy.
Changing password for oldboy.
(current) UNIX password:
New password:
BAD PASSWORD: it is too simplistic/systematic 密碼太簡單,複雜一點就OK
1. 用戶運行passwd命令
2. 用戶至關因而root用戶
3. root用戶能夠修改/etc/passwd文件
你添加 -s(小寫)的選項,查看時有時候會發現變成S(大寫)
若是文件沒有x權限,會變成S;反之,是s(小寫)
S(大寫)=s(小寫)+x s權限必須和x權限搭配
[root@oldboy oldboy]# chmod 4755 gao.txt 爲文件加上s權限
[root@oldboy oldboy]# ls -l gao.txt
-rwsr-xr-x. 1 root root 28 Jan 2 06:26 gao.txt 顯示權限爲s(小寫)
[root@oldboy oldboy]# chmod u-x gao.txt 去掉文件x權限
[root@oldboy oldboy]# ls -l gao.txt
-rwSr-xr-x. 1 root root 28 Jan 2 06:26 gao.txt 顯示爲S(大寫
任何人均可以在這個目錄裏建立文件(原來的權限是777)
每一個人只能管理本身的文件,其餘人的處理不了
ls -l 「which local」
1. -s --suid setuid
做用:運行某一個命令命令的時候至關於這個命令的全部者(root)
設置方法:chmod u+s /bin/rm 或 chmod 4775 /bin/rm
危險:全部用戶運行命令的時候都至關因而root
例:/usr/bin/passwd
2. -t --sticky 沾滯位(1777 /tmp目錄)
任何人均可以在這個目錄中從建立文件(原來權限是777)
-t 權限 --- 每一個人只能管理本身的文件,其餘人的處理不了
3 sgid localte 運行某一個命令命令的時候至關於這個命令的用戶組(root)
隱藏屬性:
查看:lsattr +文件名
修改:chattr +a/+i +文件名
特殊權限:
查看:ls -l +文件名 / stat +文件名
修改:chmod 1777 /u+s /+t +文件名