我试图从mysql内部执行一个shell命令(在mysql的过程、触发器或命令行中)。
我将lib_mysqludf_sys添加到mysql插件中,并创建了库中可用的函数。(图书馆) 主页
图书馆有5个功能。
我需要sys_exec和sys_eval正确地工作。
我想我在我的搜索中发现了问题,但无法解决。
mysql受到仪表器的限制,默认设备配置文件没有授予它执行系统命令的权限。我已经尝试了文档中的命令来禁用单个配置文件,禁用框架,将除一个之外的所有配置文件都置于强制模式中,并将所有配置文件置于抱怨模式中。毫无办法。命令
sudo apparmor_status总是给我同样的输出。
20 profiles are loaded.
20 profiles are in enforce mode.
/opt/extras.ubuntu.com/unity-lens-askubuntu/unity-askubuntu-daemon
/sbin/dhclient
/usr/bin/evince
/usr/bin/evince-previewer
/usr/bin/evince-previewer//launchpad_integration
/usr/bin/evince-previewer//sanitized_helper
/usr/bin/evince-thumbnailer
/usr/bin/evince-thumbnailer//sanitized_helper
/usr/bin/evince//launchpad_integration
/usr/bin/evince//sanitized_helper
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/connman/scripts/dhclient-script
/usr/lib/cups/backend/cups-pdf
/usr/lib/lightdm/lightdm/lightdm-guest-session-wrapper
/usr/lib/telepathy/mission-control-5
/usr/lib/telepathy/telepathy-*
/usr/sbin/cupsd
/usr/sbin/mysqld
/usr/sbin/tcpdump
/usr/share/gdm/guest-session/Xsession
0 profiles are in complain mode.
5 processes have profiles defined.
5 processes are in enforce mode.
/sbin/dhclient (2537)
/usr/lib/telepathy/mission-control-5 (2709)
/usr/sbin/cupsd (12245)
/usr/sbin/cupsd (12250)
/usr/sbin/mysqld (12675)
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.请告诉我如何禁用设备或更改mysql的配置文件,以便它能够访问执行系统命令。
我这么做的原因是,当DB中发生某些事情(通过DB触发器)时,我可以执行一个系统命令,如果您有其他一些方法可以轻松地实现这一点,那么请也提到这些。
谢谢。
发布于 2012-09-07 18:41:58
设法让这件事奏效了。首先将设备置于对所需配置文件的抱怨模式中,然后使用设备的交互工具(aa-genprof/aa-logprof)为mysqld配置配置文件。
https://stackoverflow.com/questions/11376308
复制相似问题