作者yzugsr (Bird)
看板Ruby
标题Re: [问题] 有关 RoR 在多人使用伺服器上管理的问题
时间Sun Mar 4 13:20:57 2007
※ 引述《alexjean (亚历山大)》之铭言:
: 任何使用者都可以在任何 port 开启这个 server
: 这可能会造成安全性的问题
: 请问有什麽方法可以把这个 server 拿掉
: 推 yzugsr:不太懂问题耶 不要给其他使用者存取myapp的权限就好? 02/28 18:14
: ※ 编辑: alexjean 来自: 59.115.74.98 (03/01 15:00)
: 推 alexjean:我希望可以彻底把 script/server 这个档案拿掉 03/01 15:00
: 推 godfat:不知道直接砍掉会不会有问题。没有的话就直接砍掉吧 03/01 22:28
: 推 alexjean:不过砍掉的话 用 rails my/newapp 就又产生了... 03/02 00:10
: → poga:麻烦一点每次建rails project都砍一次吧..? 03/02 00:19
: → godfat:应该不是大问题,不会一次需要 100 个 proj 吧? XD 03/02 00:53
: 推 ankasc:把rails的执行权限单独给某个user,不知道这样可不可行.. 03/04 03:48
我整理一下,权限的问题应该可以分成这三项
1.port binding权限: 你说的「使用者可以任何port开启这个server」
2.档案存取权限
3.资料库存取权限
2和3很简单,不要给其他使用者权限就好了
你直接chmod -R og-wrx newapp,其他使用者完全不能存取你的资料夹
所以也不能执行script/server (其实这不是重点)
另外,你的configuration file里面会有资料库的密码
所以记得把权限控制好,不要让别人乱看你的专案资料夹
你自己提出的问题是「任何使用者都可以在任何port开启server」
这句话应该分成两点,
「使用者绑定port的权限」及「使用者存取application&database的权限」
後者应该从档案存取及资料库的权限设定去限制
至於使用者绑定port的权限, unix-like的系统通常是这样的
1~1024的low port只有root权限可以使用,其他使用者可以自由使用1025以上的port
所以不用担心一般使用者会把port 80给占走
使用者可以在port 1025以後开一个web server
不过没有用,因为他没有权限去存取你的application floder和database
所以丝毫不能影响你的web application
====
杀了script/server而不锁权限? 不好意思完全没有用
script/server里面就两三行呼叫底层的rails程式而已
你把他杀了,但整个专案资料夹的读取权限还留给我
随便用irb玩一下,不管是要窜改你资料库,或在那个port开server都很轻松
所以拜托不要杀script/server,把权限锁好就是了
script/server是测试很好用的工具,而且只有你一个人能用
所以正解应该是:锁权限、锁权限、锁权限
====
不知道这样够不够清楚 @@
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.88.16
※ 编辑: yzugsr 来自: 140.114.88.16 (03/04 13:26)
1F:推 godfat:不好意思回答个不太妙的答案 :p 03/04 14:16
2F:推 alexjean:这样我清楚多了,这些资讯很有用!感谢您的回应! 03/05 02:47