首页 > 编程语言 >使用python包os.system执行命令与直接在终端执行命令的区别

使用python包os.system执行命令与直接在终端执行命令的区别

时间:2023-11-24 18:12:34浏览次数:32  
标签:执行命令 python 用户组 system systemctl 权限 os

 

区别:

1.使用systemctl命令执行时,即使是以root用户身份执行,也会关注服务的用户组权限。这是因为systemctl在执行服务管理操作时,会检查服务的配置文件中设置的用户和用户组权限,并确保当前用户具有足够的权限来管理服务。

2.当你以root用户身份使用os.system执行命令时,它可能会绕过服务的用户组权限的限制。这是因为os.system函数直接调用底层操作系统的命令解释器来执行命令,而不会像systemctl那样验证服务的用户组权限。

总结:

所以,以root用户身份执行systemctl和使用os.system执行命令可能会导致不同的结果,因为systemctl会更加关注服务的用户组权限,而os.system可能会绕过这些权限的限制。为了确保一致的行为并遵循正确的权限控制,建议在需要管理系统服务时使用systemctl命令。这样可以确保服务以预期的用户组权限运行,并且操作符合系统的安全性要求

引发的问题:

  1.ck监控程序通过os.system包启动ck服务导致日志文件权限被修改为root权限

解决方案:

  使用python的 subprocess 包来执行shell命令

   subprocess.run(["su", "-", username, "-c", command])

 

标签:执行命令,python,用户组,system,systemctl,权限,os
From: https://www.cnblogs.com/ltyc/p/17854441.html

相关文章

  • python文字转语音
     pipinstallpygamepipinstallgtts importosimportpygamefromgttsimportgTTStext="你有新的美团外卖订单,请注意查收!"tts=gTTS(text,lang='zh',slow=False,)tts.save("./order.mp3")#os.system("start./order.mp3&quo......
  • python 类直接调用属性和方法
    classMyClass:class_variable="Thisisaclassvariable"@staticmethoddefstatic_method():print("Thisisastaticmethod")@classmethoddefclass_method(cls):print("Thisisaclassmethod......
  • (Python)基于对称点模式(Symmetrized Dot Pattern,SDP)的多元、多通道、多传感器信号融合
    对称点模式(SymmetrizedDotPattern,SDP)算法可将复杂时间序列以散点的形式清晰映射在极坐标图中,可以使原始时域信号通过图形化的方式提高可视化能力。因为极坐标图像的特殊性,多元、多通道、多传感器信号信息可通过SDP方法融合在有限区域中。适用于多元、多通道、多传感器信号的融合......
  • python wps异常处理: 服务启动异常-发生意外
    服务异常:找到单元xlwings._xlwindowsself._xl=COMRetryObjectWrapper(DispatchEx("ket.Application"))#内核不支持,只有was无excel参考:https://blog.csdn.net/oldman_g/article/details/124022289 ---发生意外:路径不完整,保存完整路径 ......
  • 一文彻底看懂Python切片,Python切片理解与操作
    1.什么是切片切片是Python中一种用于操作序列类型(如列表、字符串和元组)的方法。它通过指定起始索引和结束索引来截取出序列的一部分,形成一个新的序列。切片是访问特定范围内的元素,就是一个Area。说个笑话:切片不是切片,而是切片,但是又是切片。大家理解下呢(末尾放出作者自己的理解......
  • python glob
    glob是python自带的一个操作文件的相关模块,用它可以查找符合特定规则的文件路径名。使用该模块查找文件,只需要用到:“*”,“?”,“[]”这三个匹配符;”*”匹配0个或多个字符;”?”匹配单个字符;”[]”匹配指定范围内的字符,如:[0-9]匹配数字。glob.glob:返回所有匹配的文件路径列表......
  • python+playwright 学习-43 Pyinstaller打包生成独立的可执行文件
    前言playwright与Pyinstaller结合使用来创建独立的可执行文件。本地化安装有同学提到说想打成一个exe的独立包,但是执行playwrightinstall会默认把chromium,firefox和webkit三个浏览器安装到系统目录。这样打包的时候就找不到启动的浏览器文件。于是就想到把浏览器文件下......
  • python可视化打包exe
    安装Auto-py-to-exePython环境要大于或等于2.7然后在cmd里面输入pipinstallauto-py-to-exe安装完成之后,我们就可以在cmd输入一下命令启动auto-py-to-exe启动之后可以切换语言为中文,剩下的就看情况操作了......
  • PYTHON实现EXCEL数据导入MYSQL
    #coding=utf8importpymysqlimportosimportpandasaspdhost='127.0.0.1'port=3308user='root'password='*****'db='impairment_testing'conn=pymysql.connect(host=host,port=port,user=user,password=password,db=db......
  • python用playwright自动化测试程序打包exe
    playwright自动化测试代码写好后,打包为exe运行在目标PC上可能出现错误。原因:1、运行的PC没有响应的浏览器。2、playwright没有打包到代码中。所以本例用AutoPytoExe为例来制作exe程序解决问题。1、安装: 2、安装完成之后,我们就可以输入:auto-py-to-exe,来启动auto-py-to-exe......