pengpenglin
人,必須選擇一種生活方式并有勇氣堅(jiān)持下去
BlogJava
首頁
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 262, comments - 221, trackbacks - 0
【Linux學(xué)習(xí)筆記】特殊權(quán)限
【1.SUID與SGID】
前面我們知道了Linux中文件、目錄一般有rwx三種權(quán)限,但是請看下面命令的結(jié)果,我們可以發(fā)現(xiàn)了多了2個(gè)權(quán)限:s,t:
[
root@localhost ~
]
# ls -ld /tmp /usr/bin/passwd
drwxrwxrw
t
11
root root
4096
1月
5
21
:
36
/tmp
-r-
s
--x--x
1
root root
19336
2004
-
09
-
07
/usr/bin/passwd
[
root@localhost ~
]
# ls /usr/bin/passwd
其中s權(quán)限當(dāng)出現(xiàn)于用戶的x位置時(shí)被稱為SUID,當(dāng)s權(quán)限出現(xiàn)于組用戶的x位置時(shí)被稱為SGID (而SGID又分為作用于文件還是目錄,SUID僅對文件有用)
那么這兩個(gè)權(quán)限有什么作用呢?簡單的概括起來:
①SUID允許執(zhí)行該文件的用戶在運(yùn)行時(shí)暫時(shí)擁有所有者的權(quán)限
②SGID允許執(zhí)行該文件的用戶在運(yùn)行時(shí)暫時(shí)擁有用戶組的權(quán)限
③如果SGID作用于目錄,則使用者在該目錄下創(chuàng)建的文件,其用戶組都和該目錄一樣
Example 1:修改passwd文件中用戶paul的密碼
我們知道/usr/bin/passwd文件的用戶是root,用戶組也是root,如果沒有s權(quán)限,那么光憑用戶paul的x權(quán)限我們只能執(zhí)行而不能看到,更改這個(gè)文件的內(nèi)容。但是實(shí)際上我們完全可以通過passwd命令來修改自己的密碼。
[
paul@localhost ~
]
$ passwd
Changing password for user paul.
Changing password for paul
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[
paul@localhost ~
]
$
那么為什么我們不具備對passwd這個(gè)文件rw權(quán)限,卻能夠修改這個(gè)文件呢?原因就在于我們前面提到的s權(quán)限--SUID。從描述可以知道當(dāng)paul用戶執(zhí)行該文件時(shí)(x權(quán)限),可以暫時(shí)地獲得用戶root對這個(gè)文件的權(quán)限,用戶root對passwd是rwx權(quán)限,所以我們當(dāng)然可以修改自己的密碼了。
但一旦我們執(zhí)行完畢時(shí)這個(gè)權(quán)限就還回去了,如果我們cat這個(gè)文件我們會(huì)發(fā)現(xiàn)沒有權(quán)限顯示
[
paul@localhost ~
]
$ cat /usr/bin/passwd
cat: /usr/bin/passwd: 權(quán)限不夠
[
paul@localhost ~
]
$
不過SUID和SGID也不是隨便那個(gè)人,那個(gè)文件都可以用的,必須滿足下面兩個(gè)條件
①用戶對要執(zhí)行的文件必須具備x權(quán)限
②SUID,SGID僅對二進(jìn)制文件起作用
【2.SBIT】
SBIT權(quán)限就是前面我們看到的t權(quán)限,它只能作用于目錄,它的作用是:但用戶在該目錄下建立文件或目錄時(shí),僅有用戶自己或root用戶有權(quán)刪除。其他人無法刪除,而用戶也無法刪除他人的目錄或文件。
[
paul@localhost ~
]
$ ls -ld /tmp
drwxrwxrw
t
11
root root
4096
1月
5
22
:
34
/tmp
[
paul@localhost ~
]
$
我們看到/tmp目錄的x位置被替換成t了,這意味著這個(gè)目錄下的內(nèi)容只有root用戶和創(chuàng)建者有權(quán)刪除。
Example 1:試驗(yàn)SBIT權(quán)限
首先我們以paul用戶身份在/tmp目錄下建立一個(gè)文件test,并設(shè)置成為777權(quán)限。讓所有人可以修改文件。
[
paul@localhost tmp
]
$ touch test
[
paul@localhost tmp
]
$ ls -l test
-rw-rw-r--
1
paul paul
0
1月
5
23
:
26
test
[
paul@localhost tmp
]
$ chmod
777
test
[
paul@localhost tmp
]
$ ls -l test
-rwxrwxrwx
1
paul paul
0
1月
5
23
:
26
test
[
paul@localhost tmp
]
$
然后我們以O(shè)racle用戶身份分別嘗試刪除該文件和修改該文件
[
oracle@localhost ~
]
$ cd /tmp
[
oracle@localhost tmp
]
$ ls -l /tmp/test
-rwxrwxrwx
1
paul paul
0
1月
5
23
:
26
/tmp/test
[
oracle@localhost tmp
]
$ rm test
rm: 無法刪除‘test’: 不允許的操作
[
oracle@localhost tmp
]
$ vi test
[
oracle@localhost tmp
]
$ cat test
Modify this file
經(jīng)過試驗(yàn)我們發(fā)現(xiàn)兩個(gè)結(jié)果:
①我們不能以O(shè)racle身份刪除test文件,即便/tmp目錄對其他用戶開放w權(quán)限
②我們可以O(shè)racle身份修改test文件,因?yàn)槲覀儗est文件設(shè)置了777權(quán)限
這就是SBIT權(quán)限的好處,即不會(huì)限制正常的刪除,又可以防止意外或惡意的刪除。
【3.如何設(shè)置特殊權(quán)限】
如何設(shè)置權(quán)限我們已經(jīng)在前面提到過了,設(shè)置特殊權(quán)限也是同樣的。只是特殊權(quán)限在設(shè)置時(shí)是位于普通權(quán)限的前面,而且4代表SUID權(quán)限,2代表SGID權(quán)限,1代表SBIT權(quán)限。見下面例子:
[
root@www ~
]
# cd /tmp
[
root@www tmp
]
# touch test <
==
建立一個(gè)測試用空檔
[
root@www tmp
]
# chmod
4755
test
;
ls -l test <==加入具有 SUID 的權(quán)限
-rwsr-xr-x
1
root root
0
Sep
29
03
:
06
test
[
root@www tmp
]
# chmod
6755
test
;
ls -l test <==加入具有 SUID/SGID 的權(quán)限
-rwsr-sr-x
1
root root
0
Sep
29
03
:
06
test
[
root@www tmp
]
# chmod
1755
test
;
ls -l test <==加入 SBIT 的功能!
-rwxr-xr-t
1
root root
0
Sep
29
03
:
06
test
[
root@www tmp
]
# chmod
7666
test
;
ls -l test <==具有空的 SUID/SGID 權(quán)限
-rwSrwSrwT
1
root root
0
Sep
29
03
:
06
test
注意最后一個(gè)7666權(quán)限的例子,大寫S和T和上面小寫的s和t不同,這是空的特殊權(quán)限的表示。因?yàn)楸旧?66已經(jīng)斷絕了所有人的執(zhí)行權(quán)限,所以特殊權(quán)限也就沒有意思了。
(來自《鳥哥的私房菜》的例子)
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
posted on 2009-01-05 22:03
Paul Lin
閱讀(873)
評論(0)
編輯
收藏
所屬分類:
Unix / Linux
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
【Linux學(xué)習(xí)筆記】壓縮和打包命令
【Linux學(xué)習(xí)筆記】特殊權(quán)限
【Linux學(xué)習(xí)筆記】文件的尋找
【Linux學(xué)習(xí)筆記】文件和目錄的默認(rèn)權(quán)限與隱藏權(quán)限
【Linux學(xué)習(xí)筆記】文件操作命令
【Linux學(xué)習(xí)筆記】目錄操作命令
【Linux學(xué)習(xí)筆記】分區(qū)與目錄
【Linux學(xué)習(xí)筆記】文件類型與擴(kuò)展名
【Linux學(xué)習(xí)筆記】文件權(quán)限學(xué)習(xí)要點(diǎn)
Unix基本概念及入門技術(shù)【四】:Solaris下cp命令的若干注意點(diǎn)
Copyright ©2025 Paul Lin Powered by:
博客園
模板提供:
滬江博客
<
2009年1月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(21)
給我留言
查看公開留言
查看私人留言
隨筆分類
J2EE 框架(9)
J2EE基礎(chǔ)(4)
J2SE(43)
Java 工具(5)
Oracle Concept(4)
Oracle SQL/PLSQL(9)
Oracle 開發(fā)(13)
Oracle 管理(4)
Oracle 調(diào)優(yōu)
Oracle 錯(cuò)誤診斷
RoR(19)
UML(3)
Unix / Linux(13)
Web基礎(chǔ)(19)
其它技術(shù)(7)
感悟(3)
雜項(xiàng)(7)
架構(gòu)與性能(8)
模式與重構(gòu)(19)
灌水(8)
電影與音樂(16)
走過的路(1)
軟件過程與軟件方法(3)
陽光戶外(2)
項(xiàng)目管理(36)
隨筆檔案
2012年2月 (3)
2011年11月 (4)
2011年10月 (1)
2011年9月 (2)
2011年8月 (2)
2011年7月 (5)
2011年6月 (3)
2011年5月 (1)
2011年4月 (1)
2011年3月 (3)
2011年1月 (1)
2010年12月 (1)
2010年11月 (5)
2010年10月 (3)
2010年9月 (1)
2010年7月 (1)
2010年6月 (1)
2010年5月 (4)
2010年4月 (9)
2010年3月 (19)
2010年2月 (8)
2010年1月 (3)
2009年12月 (34)
2009年11月 (1)
2009年10月 (2)
2009年7月 (4)
2009年6月 (5)
2009年5月 (3)
2009年4月 (2)
2009年3月 (1)
2009年2月 (5)
2009年1月 (5)
2008年12月 (13)
2008年11月 (4)
2008年10月 (1)
2008年9月 (6)
2008年8月 (5)
2008年7月 (3)
2008年6月 (31)
2008年5月 (10)
2008年4月 (9)
2008年3月 (7)
2008年2月 (4)
2008年1月 (19)
BlogJava熱點(diǎn)博客
BeanSoft
Jack.Wang
如坐春風(fēng)
詩特林
鄭暉
銀河使者
阿密果
隔葉黃鶯
好友博客
無羽蒼鷹
搜索
最新評論
1.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
666666666666666666666這幾天正在做個(gè)類似工程編碼出現(xiàn)錯(cuò)誤
--李
2.?re: 【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
不錯(cuò)
--阿斯蘭
3.?re: 【Java基礎(chǔ)專題】編碼與亂碼(03)----String的toCharArray()方法
多謝分享
--thx
4.?re: 【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--karl
5.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
謝謝,幫了我大忙!
--小龍
閱讀排行榜
1.?Oracle中如何插入特殊字符:& 和 ' (多種解決方案)(48445)
2.?getOutputStream() has already been called for this response的解決方法(43349)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(37030)
4.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無聲的解決方案(21266)
5.?Java中讀取字節(jié)流并按指定編碼轉(zhuǎn)換成字符串的方法(17317)
評論排行榜
1.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無聲的解決方案(33)
2.?【原】Oracle開發(fā)專題之:時(shí)間運(yùn)算(11)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(11)
4.?getOutputStream() has already been called for this response的解決方法(10)
5.?【原】Oracle開發(fā)專題之:分析函數(shù)(OVER)(8)
主站蜘蛛池模板:
亚洲成在人线av
|
亚洲国产精品成人精品小说
|
亚洲av片一区二区三区
|
免费涩涩在线视频网
|
成年女人毛片免费观看97
|
特级做a爰片毛片免费看
|
久久久亚洲精华液精华液精华液
|
午夜网站免费版在线观看
|
久草免费福利在线
|
亚洲人成网站在线观看播放青青
|
亚洲精品456在线播放
|
亚洲国产高清视频在线观看
|
亚洲一级毛片免费看
|
国产亚洲av片在线观看16女人
|
久艹视频在线免费观看
|
无遮挡a级毛片免费看
|
一级毛片大全免费播放下载
|
eeuss影院www天堂免费
|
男人天堂免费视频
|
未满十八私人高清免费影院
|
国产成人精品免费大全
|
无码午夜成人1000部免费视频
|
一级毛片**不卡免费播
|
在线观看无码AV网站永久免费
|
超pen个人视频国产免费观看
|
免费女人18毛片a级毛片视频
|
亚洲真人无码永久在线
|
在线免费观看亚洲
|
亚洲Av永久无码精品三区在线
|
亚洲日本在线免费观看
|
精品国产日韩久久亚洲
|
亚洲国产精品专区
|
亚洲AV无码之国产精品
|
中文字幕免费在线看
|
亚洲视频免费在线播放
|
好爽好紧好大的免费视频国产
|
日本在线高清免费爱做网站
|
国产中文字幕免费观看
|
亚洲精品无码AV人在线播放
|
亚洲人成网站在线观看播放青青
|
国产亚洲女在线线精品
|