如何設定一般user執行系統指令 - Linux

Table of Contents

現在來回報結果

ls -al /sbin/root的輸出如下:

rwxrwxrwx 1 root root 14 Jul 26 12:03 /sbin/reboot -> /bin/busybox

以下是 ls -al /bin/busybox的輸出:

-rwsr-xr-x 1 root root 1589568 Jul 6 17:41

我已經設了suid,但是一般使用者執行reboot的時候還是沒有反應
過一段時間後出現terminated的輸出結果 (timeout)

以下是擷取兩行/var/log/message的內容
virtual_space_layer_lock.c:36 failed to fopen /tmp/vspace_layer.lock,
errno=Permission denied Sep 7 07:18:01 syno_poweroff_task:

看起來用一般使用者還是沒辦法執行reboot

回答一下版友的問題:

1.確定root可以在CLI下reboot且能順利執行

2.我今天試著裝ipkg,但是ipkg update不成功,一直卡在下載Package.gz這邊
不知道是不是公司防火牆有擋住wget這端的下載過程?
我確定可以在synology CLI下ping www.yahoo.com.tw 且有回應,
但是wget某個檔案或ipkg update都沒有回應
主要是幫公司測試可以裝哪些有用的套件來利用,所以才會想試著玩ipkg...

3.目前不知道為什麼WEB那麼容易當,才會想說設定一個臨時帳號
只給這個帳號的擁有者(WEB當機時的值班人員)去做reboot

4. 小弟本人只懂粗淺的linux操作,而且認識linux經驗的人不多
所以要寫程式什麼的恐怕沒什麼辦法...,只好先從套件或指令的方式來著手這個問題

如果有什麼建議歡迎提供給我
下禮拜我會再試試看
謝謝大家

--

All Comments

Dora avatarDora2012-09-08
可能是有判斷euid要和uid一樣才能reboot,如果可以compile
Ina avatarIna2012-09-09
C程式,寫個程式setuid(0)後exec /sbin/reboot或許可以解決
George avatarGeorge2012-09-11
當然這個程式也要owner root然後 chmod u+s