没有 root 权限环境下,有办法重定向一些程序对/etc 下配置文件的读取吗

2019-12-13 11:36:29 +08:00
 epiciskandar

部分环境没法获取 root 权限,但又需要在上面进行生产活动。 一些应用比如 mysql 客户端,读取 /etc/my.conf,没 root 权限无法修改。而我又无法全部通过命令行参数实现配置化。 google 了下有一种方案是注入 so,重定向文件,不知道可行性和通用性能否有保障?

4249 次点击
所在节点    Linux
12 条回复
virusdefender
2019-12-13 11:45:15 +08:00
可行,但是通用性和兼容性不好说
codehz
2019-12-13 11:52:19 +08:00
有,用 proot 里面的模拟 mount bind 功能对文件进行 bind -b xxx:/etc/my.conf 原理是通过 ptrace 拦截系统调用
当然如果系统支持,也可以用 user namespace + mount bind 的方法(用我的 github.com/codehz/nsroot 理论上比 ptrace 要稳一点,性能影响也少一点
zealic
2019-12-13 11:57:18 +08:00
docker 不香吗?
Cooky
2019-12-13 12:04:27 +08:00
conf 文件是可以命令自定位置的吧
Nitroethane
2019-12-13 12:12:34 +08:00
tip:乱搞容易出现安全问题,悠着点儿搞
wtks1
2019-12-13 12:42:38 +08:00
mysql 的配置文件我们是放在 /usr 下面的
liuxu
2019-12-13 14:34:52 +08:00
setfacl
momocraft
2019-12-13 14:40:10 +08:00
自己 build 一份,prefix 到 $HOME/local
seers
2019-12-13 14:49:27 +08:00
--defaults-extra-file=file_name 可以指定配置文件
SbloodyS
2019-12-13 14:49:57 +08:00
k8s
lihongjie0209
2019-12-13 14:59:17 +08:00
1. mysqld 可以指定配置文件的位置的
2. redis,nginx 这种简单一点的也可以指定, 或者你自己编译, 加 --prefix 就可以了
flynaj
2019-12-18 20:07:36 +08:00
MySQL 可以指定配置文件位置,这个才是正确的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/628678

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX