Python change privs & profile
Python 日渐成为运维同学喜爱的脚本语言,我也一样,非常喜欢python的简洁,丰富,完善的lib 库,一般稍微成型的工具脚本,我都是选择python来完成,特别是,后台进程, 多线程,以及多进程
的编程模型都很容易使用,另外python本身也有比较完善的web(django,web.py)开发框架,
很多时候,一些系统需要web界面,python一门语言搞定前后端,呵呵,赞一个
不卖关子了,进入正题 ,作为一名数据库工程师, 不仅要做数据架构方面的工作,数据库的管理也是
非常重要的一环。谈到运维,特别是规模化的管理情况下,包括多实例,大集群,其中要写很多工具脚本
,最近关于权限这块遇到了几个小问题,记录分享一下
问题一 : 一个脚本中需要两个用户的权限
比如说 oracle的sqlplus os 授权,能够使用sqlplus / 登录的用户,有oracle 和同在dba group 组中的用户。root 用户本身也没用权限执行sqlplus。如何解决这个问题。其实很简单
使用root权限跑工具脚本,遇到需要使用oracle用户权限的时候使用如下代码可以修改当前用户,不过一旦设置之后,将失去root权限。可以 su oracle -c 调用脚本或者命令来完成,但是稍微有点麻烦,如下
代码可以解决的很好。
1 | import pwd |
问题二 : 使用多profile文件管理的多实例集群,在脚本中进行profile切换
多实例是很常见的,包括oracle和mysql, mysql多为常见
如下脚本可以解决,具体模块做得什么工作,不在此讨论
1 | import pickle |