[請益]如何將service用service xxx start之後,限定非root使用者執行 [論壇 - 伺服器架設]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

« 1 (2)


回覆: [請益]如何將service用service xxx start之後,限定非root使用者執行

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 70907
EXP: 24
離線
設定服務的權限只有user

設定 權限指令 需要加 sudo

<有事外出 明天早上再談>
<或由 其他網友幫忙>

2013/10/27 20:47
應用擴展 工具箱
回覆: [請益]如何將service用service xxx start之後,限定非root使用者執行
會員四級
註冊日期:
2010/8/12 15:54
所屬群組:
已註冊使用者
等級: 18
HP : 0 / 443
MP : 135 / 17011
EXP: 72
離線
csshih 寫到:
P大您好
這個user是沒有sudo權限,被認定應該是啟動對外service的人選
但是小弟困惑的是
如何讓這些service用這個user啟動
但是這些service仍然是用apt-get install安裝?


非root 可以管理(啟動/停止) services
這比較簡單,sudo 可以做到"僅"開放單一指令給特定使用者

讓servies不以 root 帳號啟動
這要看該 servies 了

以網路應用來講,第一個(也是最麻煩的)會遇到的問題是: 該服務 Listen port為何
系統不允許 root以外帳號開 < 1024的 port
所以大部份的網路服務啟動後,你會看到有兩個帳號在執行該服務,如:

ps auxwww|grep apache
root 5139 0.0 0.0 375472 14208 ? Ss 09:53 0:00 /usr/sbin/apache2 -k start
www-data 5142 0.0 0.1 391468 19744 ? S 09:53 0:00 /usr/sbin/apache2 -k start
www-data 5143 0.0 0.0 380924 15568 ? S 09:53 0:00 /usr/sbin/apache2 -k start

由root啟動,再依config裡的user設定,由該帳號啟動子程序來負責實際上的處理工作
這是linux的安全機制的一環,強行關掉它不會有什麼特別的好處
可以找其它方法繞過它,我自己最常用的方法是利用 iptables
ex: tomcat, 預設 8080, 預設不允許CATALINA_USER=root (tomcat user) ,所以也沒辦法把 port改成80

你可以利用 iptables:
/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to $IP:8080

port <1024 的問題解掉後,其它的只是每個服務 case by case 解
頂多不要利用 servies $daemon start/stop
直接單行指令加參數丟背景運作也不是不行

2013/10/28 10:13
應用擴展 工具箱
回覆: [請益]如何將service用service xxx start之後,限定非root使用者執行

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 70907
EXP: 24
離線
#4
非root使用者通通都是安裝完系統後額外用useradd增加的

#8
對外服務的是nginx 1.2,tomcat 7.4

#10
瀏覽器會有分嗎?
目前QA組測只有chrome,safari,IE

當 Username 從 client 端電腦 使用 瀏覽器 造訪 你的 Server 的網頁時
有 登入的 網頁 以
登入 額外用 useradd 增加的 Usernames 嗎 ?

如果有 請提供 你打算如何把 這些 Usernames 及 密碼 存放在哪個檔案或資料庫

2013/10/28 10:56
應用擴展 工具箱
回覆: [請益]如何將service用service xxx start之後,限定非root使用者執行
會員一級
註冊日期:
2013/10/26 20:55
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 28
MP : 3 / 819
EXP: 12
離線
acman您好
您的回答和我在網路上找的其他答案是一樣的
感謝您一出手就解答了小弟的疑惑
thanks...

2013/10/28 14:23
應用擴展 工具箱
回覆: [請益]如何將service用service xxx start之後,限定非root使用者執行
會員四級
註冊日期:
2010/8/12 15:54
所屬群組:
已註冊使用者
等級: 18
HP : 0 / 443
MP : 135 / 17011
EXP: 72
離線
csshih 寫到:
acman您好
您的回答和我在網路上找的其他答案是一樣的
感謝您一出手就解答了小弟的疑惑
thanks...


客氣了!只幫到一點點小忙
具體實用方式還是得 case by case 去抓

不過你都考慮到是否需要自行編譯了
(ps一下!應該不需要重新編譯,也更不用特定帳號去重編)
這點應該只是要花點時間的問題罷了

man一下服務的主要執行檔
應該都會有參數下法
可以讓你手動執行並指定到正確的config檔
絕大部份參數正確,丟到背景去運作就可以了
只是start/stop的方式不一樣罷了

2013/10/28 14:33
應用擴展 工具箱
回覆: [請益]如何將service用service xxx start之後,限定非root使用者執行
會員一級
註冊日期:
2013/10/26 20:55
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 28
MP : 3 / 819
EXP: 12
離線
acman
再請教您一個問題
當用tarball在/usr/local裝上tomcat7後
我在ps aux就只會找到一個用root執行的tomcat
雖然我已經在server.xml指定running user為user
是否這樣就可以確定每個瀏覽者都是用user瀏覽的?
因為我目前看不到任何QC組瀏覽的執行續
或者是我下的指令錯了,QC組瀏覽的執行續不是從這邊檢視?
希望acman大大能再幫忙
感謝您了

2013/10/28 14:43
應用擴展 工具箱
回覆: [請益]如何將service用service xxx start之後,限定非root使用者執行
會員四級
註冊日期:
2010/8/12 15:54
所屬群組:
已註冊使用者
等級: 18
HP : 0 / 443
MP : 135 / 17011
EXP: 72
離線
抱歉!我第一篇的回覆中關於 tomcat 的部份有誤
tomcat 可以以 root帳號啟動並監聽 port80
因為我的環境都是不可以跑在root帳號底下,所以我自己誤解了

你需要設定 jsvc
大概的作法: http://beakdoosan.blogspot.tw/

我沒用過 tomcat7 ,你就自己試試吧

2013/10/28 21:01
應用擴展 工具箱
回覆: [請益]如何將service用service xxx start之後,限定非root使用者執行

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 70907
EXP: 24
離線
#8
1.ubuntu server 12.04

#16
當用tarball在/usr/local裝上tomcat7後

1. Linux 發行版很多
同一個發行版 不同版本 有時也稍有差異
所以 參閱網路上文章 常常需要注意 發行版及版本 是否適用

2. 這是 Ubuntu 12.04 安裝 tomcat6
sudo apt-get install tomcat6
https://help.ubuntu.com/12.04/serverguide/tomcat.html

3. 這是 Ubuntu 13.10 安裝 tomcat7
sudo apt-get install tomcat7
https://help.ubuntu.com/13.10/serverguide/tomcat.html

4. 如果 你要在 Ubuntu 12.04 安裝 tomcat7
要檢查 requirement 條件合不合

5. 如果有現成的 套件可以使用 apt-get 或 dpkg 安裝 就不需從 tarball 安裝

6. Java 安裝 Java 6 即可
all the currently supported Apache Tomcat versions (6.0.x and 7.0.x) are known to run correctly on Java 6 JVMs.

2013/10/28 21:45
應用擴展 工具箱
回覆: [請益]如何將service用service xxx start之後,限定非root使用者執行

註冊日期:
2009/12/6 10:32
所屬群組:
已註冊使用者
等級: 71
HP : 1053 / 1756
MP : 4456 / 70907
EXP: 24
離線
#8
1.ubuntu server 12.04

#8
對外服務的是nginx 1.2

1. 參考
Do you know any reason to use Apache instead of Nginx?

2. How To Install nginx on Ubuntu 12.04 LTS (Precise Pangolin)

2-1. https://help.ubuntu.com/community/Nginx

2-2. 合適的版本
Ubuntu : Nginx
............ .........
12.04 : 1.1.19
12.10 : 1.2.1
13.04 : 1.2.6
13.10 : 1.4.1
14.04 : 1.4.3

2013/10/28 21:56
應用擴展 工具箱

« 1 (2)

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.