Linux
‘chmod g+s’ 和 ‘chmod +s’ 有什麼區別
我的使用者已經在 CentOS 的 ‘wheel’ 組中,並且 ‘ping’ 命令不起作用:
ping: socket: Operation not permitted
關於使用 ‘chmod +s’ 進行 ‘ping’ 的指南:
https ://github.com/MichaIng/DietPi/issues/1012#issuecomment-532840857
但是,我看到另一個命令“chmod g+s”,它與“chmod +s”有什麼不同?
chmod +s
同時設置UID 和 GID 位,而chmod g+s
僅設置 GID 位(並且chmod u+s
僅設置 UID)。UID 和 GID 位讓程序作為所有者和/或所有者的組執行 - 而不是作為實際啟動它的使用者和組。例如,一個程序可能總是像由 root 啟動一樣執行。
假設您有一個擁有所有權的文件 root:adm…
chmod g+s
將使程序可以訪問某些日誌(不好?)…chmod +s
此外還會讓程序以完全 root 權限執行(更糟!)。