Re: [問題] setuid的疑問

看板Linux作者 (我想我瘋了)時間18年前 (2007/01/28 23:34), 編輯推噓2(201)
留言3則, 2人參與, 最新討論串1/1
※ 引述《jtorngl (燕去燕返燕歸來)》之銘言: : setuid的用途為要執行該可執行檔的權限決定於檔案擁有者 : 那跟直接把群組或其他人的執行權限設成跟該檔案擁有者一樣有何差別? : 例如: : -rwsr-xr-- 1 root root 35108 Jun 16 2004 /bin/ping : -rwxr-xr-x 1 root root 35108 Jun 16 2004 /bin/ping : -rwsr-xr-x 1 root root 35108 Jun 16 2004 /bin/ping : 請問這三種權限的差別在哪裡? : 第一種一般使用者執行ping時會出現permission denied我懂 : 但是為什麼第二種權限設定時一般使用者執行ping時會出現 : ping:icmp open socket:Openretion not permitted : 是因為有些指令只限定superuser才能執行的關係嗎? : 看書上對於作用在執行檔的suid、sgid的用途搞不懂 : 一般用的到的好像都是設在目錄上的sgid跟sticky bit而已 setuid最容易懂的例子 應該是更改密碼的passwd指令 如下: -rwsr-xr-x 1 root root 22960 Jul 17 2006 /usr/bin/passwd 檔案為root所有 ~ 我們在更改密碼的時候 必須去修改/etc/shadow裡面的密碼欄位 但是/etc/shadow的權限如下: -r-------- 1 root root 1470 Dec 31 16:08 /etc/shadow 這是一般人不可讀、不可寫的 所以使用者無法直接更動這個檔案 那為了使一般user可以更改密碼 就透過讓passwd指令setuid來達成 user在改密碼時 可透過passwd取得修改/etc/shadow時所需的root權限 而如果把/etc/shadow權限開放給大家可修改 那就糟了... 我可以隨便把大家的密碼換掉 或是把這個檔案砍掉 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.109.230.177 ※ 編輯: Tomcat 來自: 140.109.230.177 (01/28 23:36)

01/29 00:56, , 1F
我剛查了一下 shadow的權限好像是640耶??
01/29 00:56, 1F

01/29 00:57, , 2F
借轉blog
01/29 00:57, 2F

01/29 11:49, , 3F
可能我系統預設的遮罩跟你不同吧... 我的系統是這樣子沒錯
01/29 11:49, 3F
※ 編輯: Tomcat 來自: 140.109.41.18 (01/29 12:45)
文章代碼(AID): #15lCA7yg (Linux)
文章代碼(AID): #15lCA7yg (Linux)