[問題] 一個shell script裡能否不同身分執行?

看板Linux作者 (從數學發現心世界)時間12年前 (2012/01/14 21:04), 編輯推噓1(1025)
留言26則, 5人參與, 最新討論串1/1
我一個 A程式 要運作需要 B程式 存在.. 我寫一個腳本判斷 B程式 是否還在執行,若有離開, 若沒有則重新執行 B程式 ,接著重新啟動 A程式 不過現在我想用(一般使用者)的身分去重新執行 B程式 再用(超級使用者)的身分重新啟動 A程式 能在腳本上達到這個目的嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.255.6.160

01/14 22:10, , 1F
為什麼我覺得你的 B 程式是常常意外離開?
01/14 22:10, 1F

01/14 22:15, , 2F
感覺很像crontab做的事 0.0?
01/14 22:15, 2F

01/14 22:18, , 3F
suid似乎可以可以幫忙您完成這件事!
01/14 22:18, 3F

01/15 01:12, , 4F
我是用crontab排程,一般使用者身分去跑script
01/15 01:12, 4F

01/15 01:12, , 5F
因為 A程式 重啟有權限的問題,所以需要root
01/15 01:12, 5F

01/15 01:17, , 6F
整個程式用root去跑就都ok了,只是 B程式 不想用root去執行
01/15 01:17, 6F

01/15 01:17, , 7F
因為安全性的問題..
01/15 01:17, 7F

01/15 10:43, , 8F
script 以 root 方式執行,用 sudo 以一般使用者
01/15 10:43, 8F

01/15 10:44, , 9F
執行 B 程式
01/15 10:44, 9F

01/15 10:44, , 10F
權限 (打清楚一點)
01/15 10:44, 10F

01/15 10:45, , 11F
想想看,如果一個一般使用者就能執行的 script
01/15 10:45, 11F

01/15 10:46, , 12F
居然能以 root 執行其他程式,不是很危險嗎
01/15 10:46, 12F

01/15 12:36, , 13F
sudo這個指令本身就有限制使用者了
01/15 12:36, 13F

01/15 16:06, , 14F
原來這麼簡單..crontab裡用root去執行script
01/15 16:06, 14F

01/15 16:08, , 15F
script裡的 B程式 前加上 sudo -u (帳號) 接者我要指令就
01/15 16:08, 15F

01/15 16:08, , 16F
可以了...感謝各位
01/15 16:08, 16F

01/15 19:31, , 17F
sudo就是root(單次權限)阿
01/15 19:31, 17F

01/15 19:32, , 18F
只是正常是沒指定給任何使用者用
01/15 19:32, 18F

01/15 19:33, , 19F
ubuntu才有附加第一使用者預設sudo可用者的程序
01/15 19:33, 19F

01/15 19:33, , 20F
好像ubuntu預設反而是把su鎖起來?
01/15 19:33, 20F

01/16 01:03, , 21F
我沒給一般使用者有sudo的權限..覺得比較安全
01/16 01:03, 21F

01/16 01:03, , 22F
而且root sudo到一般使用者也不需密碼...還比較方便
01/16 01:03, 22F

01/16 07:21, , 23F
其實root用su到任何使用者都不需要密碼
01/16 07:21, 23F

01/16 07:22, , 24F
不過我沒用過sudo不知道有沒有sudo username這種用法
01/16 07:22, 24F

01/16 07:22, , 25F
到是su username可以換成另一個使用者
01/16 07:22, 25F

01/18 00:40, , 26F
sudo username是沒這樣的..只有這樣sudo -u username 指令
01/18 00:40, 26F
文章代碼(AID): #1F4NrTKn (Linux)