1. 程式人生 > >18.1.2-linux目錄文件隱藏屬性和特殊權限

18.1.2-linux目錄文件隱藏屬性和特殊權限

查看 profile 準備 普通用戶 數位 小寫 分享圖片 opera ttr

18.1.2

linux目錄文件隱藏屬性和特殊權限

內容:

1.linux權限查看 計算 修改
2.文件和目錄rwx含義
3.各種權限拒絕錯誤排查
4.如何讓網站通過權限控制 盡量安全
5.通過umask計算默認的權限
6.文件系統的屬性(隱藏屬性)
7.linux特殊權限 suid , 粘滯位(/tmp

第1章 網站權限-通過控制權限讓網站安全

1.1 文件或目錄安全 (比較安全的權限)

file rw-r--r-- root root oldboy.txt

dir rwxr-xr-x root root oldboy.txt

file 644 dir 755 屬於

root

1.2 網站安全: ---站點目錄(存放網站程序)

/app/blog 網站程序存放

/app/blog/upload 用戶上傳目錄(用戶的頭像 上傳的圖片或附件)

1.3 如何讓/app/blog目錄安全

1.3.1

1.blog目錄

file 644 root root

dir 755 root root

2.blog/upload目錄

file 644 www www

dir 755 www www

運行博客 通過www用戶(虛擬用戶,被破譯也不可以登錄系統)運行 (root用戶運行太危險,一旦破解就掌控了服務器)

1.3.2 環境準備:

useradd www

(普通用戶)

mkdir -p /app/blog/upload

touch /app/blog/awk.html /app/blog/renyi.jpg /app/blog/li.avi

1.3.3 測試及報錯

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

1.3.4 解決方法1 給其他用戶寫權限

chmod o+w upload

drwxr-xrwx 2 root root 4096 Dec 28 17:47 upload/

權限太大了

1.3.5 解決方法2 upload目錄送給 www

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)--上傳上來沒有執行權限

第2章 umask --反掩碼 是什麽 怎麽計算 如何修改

2.1 Linux中默認的最大權限

file 666

dir 777

2.2 umask

2.2.1 作用:控制系統默認的權限

2.2.2 查看 [root@oldboy ~]# umask

0022

2.2.3 通過umask計算 系統默認的權限

file 666

-022

=644

dir 777

-022

=755

2.2.4 umask

臨時

[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

果如

第3章 文件系統屬性(文件的隱藏屬性)

3.1 與文件系統屬性相關命令 查看隱藏權限lsattr

查看文件系統屬性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

3.2 重要用法:

主要命令文件 +i

重要配置文件 +a

第4章 查看系統負載系列

w 查看系統負載

top 動態查看負載 (顯示不全)

作業:yum安裝 --(為什麽安不上 怎麽及解決)

htop升級版的top

iotop 查詢系統磁盤讀寫

iftop 查看網絡信息 流量

第5章 特殊權限

5.1 情景引入: 查看特殊權限 ls -l s

[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

5.1.1 -s 用戶在運行這個命令時相當於root用戶 ===4 ==suid setuid

[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文件

5.1.2 -s(小寫)-S(大寫)的區別

你添加 -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(大寫

5.2 -t 粘滯位 /tmp 目錄 (777必須記住) ---1 ===sticky

5.2.1 作用 (相當之重要)

任何人都可以在這個目錄裏創建文件(原來的權限是777)

每個人只能管理自己的文件,其他人的處理不了

5.3 sgid localte 用戶在運行一個命令的時候,相當於屬於這個命令所在的家庭(用戶組root) 不重要-了解

ls -l which local

5.4 特殊權限總結:

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)

5.5 特殊權限和隱藏屬性查看及修改的區別:

隱藏屬性:

查看:lsattr +文件名

修改:chattr +a/+i +文件名

特殊權限:

查看:ls -l +文件名 / stat +文件名

修改:chmod 1777 /u+s /+t +文件名

5.6 總結:
1.linux權限查看 計算 修改
2.文件和目錄rwx含義
3.各種權限拒絕錯誤排查
4.如何讓網站通過權限控制 盡量安全
5.通過umask計算默認的權限
6.文件系統的屬性(隱藏屬性)
7.linux特殊權限 suid , 粘滯位(/tmp


題目:
1.安裝並使用
#htop 升級版top命令
#iotop 查詢系統磁盤讀寫
#iftop 查看網絡信息 流量

2.如何找出系統中帶有特殊權限的文件或目錄


18.1.2-linux目錄文件隱藏屬性和特殊權限