日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

android 安全讲座第三层 linux权限基础知识

發布時間:2025/3/19 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 安全讲座第三层 linux权限基础知识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

android系統是給予linux的內核,所以關于linux內核中最重要的權限提取,這里列舉一下基礎知識,以備將來真正的利用系統漏洞進行權限提升的時候做儲備。


問題:

1 文件權限 4755的含義?


這個4表示其他用戶執行文件時,具有與所有者相當的權限。

2 文件權限中 s/S中的含義


字母不是小寫的s或者t,而是大寫的S和T,那代表此文件的特殊權限沒有生效,是因為你尚未給它對應用戶的x權限.


下面是基礎的權限知識,只能解釋問題1中的755.


chmod是Linux下設置文件權限的命令,后面的數字表示不同用戶或用戶組的權限。

一般是三個數字:

第一個數字表示文件所有者的權限

第二個數字表示與文件所有者同屬一個用戶組的其他用戶的權限

第三個數字表示其它用戶組的權限

權限分為三種:讀(r=4),寫(w=2),執行(x=1)。綜合起來還有可讀可執行(rx=5=4+1)、可讀可寫(rw=6=4+2)、可讀可寫可執行(rwx=7=4+2+1)。

所以,chmod 755 設置用戶的權限為:

1.文件所有者可讀可寫可執行

2.與文件所有者同屬一個用戶組的其他用戶可讀可執行

3.其它用戶組可讀可執行


關于問題1中的4


chmod 4755與chmod 755 的區別在于開頭多了一位,這個4表示其他用戶執行文件時,具有與所有者相當的權限。

一下子不好理解


下面的解釋可能更加明白


對可執行文件設置 setuid 權限時,將對運行該文件的進程授予基于文件屬主的訪問權限。該訪問權限不是基于正在運行可執行文件的用戶。使用此特殊權限,用戶可以訪問通常只有屬主才可訪問的文件和目錄。

可以使用chmod u+s 或chmod g+s來設置二進制的可執行文件的euid。setuid只能對二進制的可執行設置。


這里面涉及到了另外一個的linux的知識


進程的uid和euid


linux系統中每個進程都有2個ID,分別為用戶ID(uid)和有效用戶ID(euid),UID一般表示進程的創建者(屬于哪個用戶創建),而EUID表示進程對于文件和資源的訪問權限(具備等同于哪個用戶的權限)。C語言中,可以通過函數getuid()和geteuid()來獲得進程的兩個ID值。

當一個用戶登陸系統時,系統會將UID和EUID都賦值為/etc/passwd文件中的UID,一般情況下2個ID是相同的,但是某些情況下會出現2個ID不同的情況。
gid和egid同理。


passwd 實例

【關于linux的passwd命令】passwd命令是用來修改用戶登陸密碼的,用來記錄用戶登陸密碼的文件為/etc/shadow,該文件只有root用戶具有訪問權限,如下所示:gaolu@gaolu-desktop:~$gaolu@gaolu-desktop:~$ cd /etcgaolu@gaolu-desktop:/etc$ ls -l shadow-rw-r----- 1 root shadow 978 2009-02-22 21:25 shadowgaolu@gaolu-desktop:/etc$


這是出現了矛盾:出于安全考慮,不允許普通用戶查看并修改shadow文件;但是如果這樣普通用戶就無法為自己修改密碼。


Linux系統就是使用setuid來解決這個矛盾的問題:如果一個程序被設置了setuid位,那么它無論被哪個用戶啟用,都會具備程序所有者的權限。而passwd程序的所有者是root用戶,passwd的權限如下所示,那么任何用戶執行該程序,程序的EUID就會變成root用戶的EUID,而不是執行該程序的UID。


gaolu@gaolu-desktop:/etc$ cd /usr/bingaolu@gaolu-desktop:/usr/bin$ ls -l passwd-rwsr-xr-x 1 root root 32988 2008-06-10 02:10 passwdgaolu@gaolu-desktop:/usr/bin$gaolu@gaolu-desktop:/usr/bin$


因此,普通用戶可以通過passwd程序修改shadow文件內容,完成密碼修改。


另一種特殊權限t:

再看個實例,查看你的/tmp目錄的權限

[root@MyLinux ~]# ls -dl /tmp
drwxrwxrwt 6 root root 409608-2211:37/tmp tmp目錄是所有用戶共有的臨時文件夾,所有用戶都擁有讀寫權限,這就必然出現一個問題,A用戶在/tmp里創建了文件a.file,此時B用戶看了不爽,在/tmp里把它給刪了(因為擁有讀寫權限),那肯定是不行的。


有t特權的目錄下的文件或目錄只有owner和root才可以刪除和修改,其他的人即使有寫權限也不能刪除。


如何設置以上特殊權限:
setuid:chmod u+s xxx
setgid: chmod g+s xxx
stick bit : chmod o+t xxx

或者使用八進制方式,在原先的數字前加一個數字,三個權限所代表的進制數與一般權限的方式類似,如下:

suid guid stick bit
1 1 1

所以:
suid的二進制串為:100,換算十進制為:4
guid的二進制串為:010,換算十進制:2
stick bit 二進制串:001,換算十進制:1

于是也可以這樣設:
setuid:chmod 4755 xxx
setgid:chmod 2755 xxx
stick bit:chmod 1755 xxx

最后,在一些文件設置了特殊權限后,字母不是小寫的s或者t,而是大寫的S和T,那代表此文件的特殊權限沒有生效,是因為你尚未給它對應用戶的x權限.



需要先理解了linux權限的基礎知識,剩下的繼續討論



轉載于:https://blog.51cto.com/sunzeduo/1316327

總結

以上是生活随笔為你收集整理的android 安全讲座第三层 linux权限基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。