[hlc@localhostcentosa SUID]$ ll
總用量 8
-rwx------. 1 root root 6 3月 26 10:17 a.txt
-rws---r-x. 1 root root 77 3月 26 10:07 passwd.sh
[hlc@localhostcentosa SUID]$ sudo cat a.txt
aaaaa
[hlc@localhostcentosa SUID]$ cat passwd.sh
#!/bin/bash
#chmod 777 a.txt
echo '讀取a.txt 檔案的內容'
cat ./a.txt
[hlc@localhostcentosa SUID]$ ./passwd.sh
讀取a.txt 檔案的內容
cat: ./a.txt: 權限不夠
[hlc@localhostcentosa SUID]$
想問一下,使用hlc賬號執行passwd.sh 。因為passwd.sh的SUID位是為s的,應該在執行程序中獲得root權限,并讀取a.txt檔案的內容。
但為什么卻提示權限不夠,實在想不通,大佬幫忙解釋一下。
備注:我想是不是出于某個原因,如果其他用戶對passwd.sh有寫權限,因為在執行程序中獲得root的權限,那整個系統都被這個用戶掌控了
這種行為是危險的。
uj5u.com熱心網友回復:
suid只能應該于二進制命令,不能用于腳本uj5u.com熱心網友回復:
suid僅針對命令和二進制程式有效,且執行程式需要權限x配合僅在執行命令的程序中有效,不能用在shell等類似腳本檔案上
因為這東西在執行程序中是具備root權限的,只有執行完成才會釋放,如果一旦可以應用于腳本,那么就可以通過腳本檔案進行一些超越本身權限的操作,這是不符合LINUX的安全機制的,所以,它不允許腳本檔案使用
uj5u.com熱心網友回復:
對檔案:只針對二進制可執行檔案,任何人運行二進制檔案
程式時程式產生的行程的所有組都是檔案的所有組
和程式發起人組的身份無關
對目錄:當目錄有sgid權限后,目錄中新建的所有檔案的所有組
都自動歸屬到目錄的所有組之中,和檔案建立者所在的組無關
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/41442.html
標籤:系統維護與使用區
下一篇:vncserver安裝問題
