檔案屬性之setuid位

來源:互聯網
上載者:User

標籤:style   使用   io   檔案   sp   on   size   c   ui   

setuid位是可執行檔的一個屬性,
ls -l /bin/ping 或mount等可以看到許可權為
-rwsr-xr-x 1 root root 含有s位,所屬使用者為root表明該檔案可以被其他使用者以該檔案所屬使用者的許可權去執行。因此root使用者佈建s位後普通使用者可以執行。
ping需要root許可權是因為要建立原始通訊端發送ICMP報文。
因此你自己編寫的程式要達到這種效果可以:
sudo chown root xxx
sudo chmod +s xxx
此處以root身份賦予之許可權以後就可以方便的讓普通使用者直接執行了,無需再輸入密碼。當然不用輸密碼就可執行檔方法還有一些,如通過visudo編輯/etc/sudoers,設定NOPASSWD的程式,使用者,但執行時仍需在命令前輸入sudo
ICMP通訊端是3.0核心新加入的功能,容許不需要set-user-id和CAP_NET_RAW許可權的ping程式的實現,然而沒有了相容性,並且需要調整一個核心參數:
sudo sysctl -w net.ipv4.ping_group_range=‘0 10‘
或者寫/proc/sys/ipv4/ping_group_range
預設值是‘1 0‘,意味著沒有使用者能夠使用這個特性
若系統不支援則在建立通訊端時顯示Protocal not supported
若沒有許可權是Permission denied
建立socket時使用SOCK_DGRAM,不是SOCK_RAW,意味著不會收到20位元組的IP頭,而且不需要自己計算校正和,核心會幫你計算。ICMP id也是由核心填的。

檔案屬性之setuid位

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.