部分环境没法获取 root 权限,但又需要在上面进行生产活动。 一些应用比如 mysql 客户端,读取 /etc/my.conf,没 root 权限无法修改。而我又无法全部通过命令行参数实现配置化。 google 了下有一种方案是注入 so,重定向文件,不知道可行性和通用性能否有保障?
部分环境没法获取 root 权限,但又需要在上面进行生产活动。 一些应用比如 mysql 客户端,读取 /etc/my.conf,没 root 权限无法修改。而我又无法全部通过命令行参数实现配置化。 google 了下有一种方案是注入 so,重定向文件,不知道可行性和通用性能否有保障?
|
virusdefenderDec 13, 2019
1
可行,但是通用性和兼容性不好说
|
|
codehzDec 13, 2019 via Android
2
有,用 proot 里面的模拟 mount bind 功能对文件进行 bind -b xxx:/etc/my.conf 原理是通过 ptrace 拦截系统调用
当然如果系统支持,也可以用 user namespace + mount bind 的方法(用我的 github.com/codehz/nsroot 理论上比 ptrace 要稳一点,性能影响也少一点 |
|
zealicDec 13, 2019
3
docker 不香吗?
|
|
CookyDec 13, 2019 via Android
4
conf 文件是可以命令自定位置的吧
|
|
NitroethaneDec 13, 2019
5
tip:乱搞容易出现安全问题,悠着点儿搞
|
|
wtks1Dec 13, 2019 via Android
6
mysql 的配置文件我们是放在 /usr 下面的
|
|
liuxuDec 13, 2019
7
setfacl
|
|
momocraftDec 13, 2019
8
自己 build 一份,prefix 到 $HOME/local
|
|
seersDec 13, 2019
9
--defaults-extra-file=file_name 可以指定配置文件
|
|
SbloodySDec 13, 2019
10
k8s
|
|
lihongjie0209Dec 13, 2019
11
1. mysqld 可以指定配置文件的位置的
2. redis,nginx 这种简单一点的也可以指定, 或者你自己编译, 加 --prefix 就可以了 |
|
flynajDec 18, 2019 via Android
12
MySQL 可以指定配置文件位置,这个才是正确的
|