Linux常用權(quán)限有哪些s權(quán)限和t權(quán)限區(qū)別
Linux繼承了Unix以網(wǎng)絡(luò)為核心的設(shè)計思想,是一個性能穩(wěn)定的多用戶網(wǎng)絡(luò)操作系統(tǒng)。有時對一些操作需要有權(quán)限,本文介紹了linux系統(tǒng)內(nèi)的2個特殊權(quán)限s權(quán)限和t權(quán)限,簡單易懂,大家可以詳細(xì)看看。
常用權(quán)限
linux系統(tǒng)內(nèi)有檔案有三種身份 u:擁有者 g:群組 o:其他人
這些身份對于文檔常用的有下面權(quán)限:
r:讀權(quán)限,用戶可以讀取文檔的內(nèi)容,如用cat,more查看
w:寫權(quán)限,用戶可以編輯文檔
x:該目錄具有可以被系統(tǒng)執(zhí)行的權(quán)限
其他權(quán)限
除了讀寫執(zhí)行權(quán)限外系統(tǒng)還支持強制位(s權(quán)限)和粘滯位(t權(quán)限)
s權(quán)限
s權(quán)限: 設(shè)置使文件在執(zhí)行階段具有文件所有者的權(quán)限,相當(dāng)于臨時擁有文件所有者的身份. 典型的文件是passwd. 如果一般用戶執(zhí)行該文件, 則在執(zhí)行過程中, 該文件可以獲得root權(quán)限, 從而可以更改用戶的密碼.
ls -al /usr/bin/passwd
-rwsr-xr-x 1 pythontab pythontab 32988 2018-03-16 14:25 /usr/bin/passwd
我們可以通過字符模式設(shè)置s權(quán)限:chmod a+s filename,也可以使用絕對模式進行設(shè)置:
設(shè)置suid:將相應(yīng)的權(quán)限位之前的那一位設(shè)置為4;
設(shè)置guid:將相應(yīng)的權(quán)限位之前的那一位設(shè)置為2;
兩者都置位:將相應(yīng)的權(quán)限位之前的那一位設(shè)置為4+2=6。
注意:在設(shè)置s權(quán)限時文件屬主、屬組必須先設(shè)置相應(yīng)的x權(quán)限,否則s權(quán)限并不能正真生效(c h m o d命令不進行必要的完整性檢查,即使不設(shè)置x權(quán)限就設(shè)置s權(quán)限,chmod也不會報錯,當(dāng)我們ls -l時看到rwS,大寫S說明s權(quán)限未生效)
t權(quán)限
t權(quán)限:要刪除一個文檔,您不一定要有這個文檔的寫權(quán)限,但您一定要有這個文檔的上級目錄的寫權(quán)限。也就是說,您即使沒有一個文檔的寫權(quán)限,但您有這個文檔的上級目錄的寫權(quán)限,您 也能夠把這個文檔給刪除,而假如沒有一個目錄的寫權(quán)限,也就不能在這個目錄下創(chuàng)建文檔。
怎樣才能使一個目錄既能夠讓任何用戶寫入文檔,又不讓用戶刪除這個目錄下他人的文檔,t權(quán)限就是能起到這個作用。t權(quán)限一般只用在目錄上,用在文檔上起不到什么作用。
在一個目錄上設(shè)了t權(quán)限位后,(如/home,權(quán)限為1777)任何的用戶都能夠在這個目錄下創(chuàng)建文檔,但只能刪除自己創(chuàng)建的文檔(root除外),這就對任何用戶能寫的目錄下的用戶文檔 啟到了保護的作用。
可以通過chmod +t filename 來設(shè)置t權(quán)限
在這再總結(jié)一下
s或S(SUID,Set UID):
可執(zhí)行的文件搭配這個權(quán)限,便能得到特權(quán),任意存取該文件的所有者能使用的全部系統(tǒng)資源。請注意具備SUID權(quán)限的文件,黑客經(jīng)常利用這種權(quán)限,以SUID配上root帳號擁有者,無聲無息地在系統(tǒng)中開扇后門,供日后進出使用。
T或T(Sticky):
/tmp和 /var/tmp目錄供所有用戶暫時存取文件,亦即每位用戶皆擁有完整的權(quán)限進入該目錄,去瀏覽、刪除和移動文件。
補充:Linux基本命令
?、賚s 意為list 列出當(dāng)前文件夾中的文件
-l 顯示文件的屬性 可用ll來表示
②alias 別名 看看是否有別名的文件
?、踓d dir 跳躍目錄 -P選項 將路徑中的鏈接文件替換成鏈接指向的文件路徑
④pwd 查看當(dāng)前工作的文件夾名 使用-P的選項,會直接進入到其中,相當(dāng)于cd
相關(guān)閱讀:Linuxshell腳本不執(zhí)行問題實例分析
shell腳本不執(zhí)行問題:某天研發(fā)某同事找我說幫他看看他寫的shell腳本,死活不執(zhí)行,報錯。我看了下,腳本很簡單,也沒有常規(guī)性的錯誤,報“:badinterpreter:Nosuchfileordirectory”錯??催@錯,我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務(wù)器的……果然。原因:在DOS/windows里,文本文件的換行符為rn,而在*nix系統(tǒng)里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個^M。解決:
1)重新在linux下編寫腳本;
2)vi:%s/r//g:%s/^M//g(^M輸入用Ctrl+v,Ctrl+m)附:sh-x腳本文件名,可以單步執(zhí)行并回顯結(jié)果,有助于排查復(fù)雜腳本問題。
Linux權(quán)限相關(guān)文章:
1.Linux系統(tǒng)怎么設(shè)置文件權(quán)限
3.怎么查看及修改Linux系統(tǒng)文件讀寫權(quán)限