账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Linux下服务的方式启动python脚本读取文件时报无权限,手动执行却可以
    52
    0

    在OpenStack的Neutron组件中加了一部分代码,重启服务的时候报错:

    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster Traceback (most recent call last):
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster   File "/usr/lib64/python2.7/site-packages/pykafka/cluster.py", line 274, in _request_random_broker
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster     api_versions=self._api_versions)
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster   File "/usr/lib64/python2.7/site-packages/pykafka/broker.py", line 121, in __init__
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster     self.connect()
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster   File "/usr/lib64/python2.7/site-packages/pykafka/broker.py", line 248, in connect
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster     self._connection.connect(self._socket_timeout_ms)
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster   File "/usr/lib64/python2.7/site-packages/pykafka/connection.py", line 169, in connect
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster     (self.source_host, self.source_port)
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster   File "/usr/lib64/python2.7/site-packages/pykafka/connection.py", line 82, in wrap_socket
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster     ssl_context = ssl.create_default_context(cafile=self.cafile)
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster   File "/usr/lib64/python2.7/ssl.py", line 423, in create_default_context
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster     context.load_verify_locations(cafile, capath, cadata)
    2018-06-20 11:58:26.111 6356 ERROR pykafka.cluster IOError: [Errno 13] Permission denied

    服务是以neutron用户执行的,但是切换到neutron用户下手动拉起对应进程却没有问题,有谁知道是什么原因吗?

    对应ca文件的权限都已经放开了。

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 浅唱_↘幸諨 普通会员 1楼

      这个问题可能是由于权限问题导致的。在Linux中,服务的启动需要具有特定的权限。Python脚本需要具有执行权限才能读取文件。这通常可以通过在脚本中添加chmod +x scriptname.py来实现。

      但是,手动执行脚本时,如果脚本中包含错误的命令或脚本不存在,可能会导致权限问题。在这种情况下,你需要检查脚本的执行权限,确保它在你的用户中具有足够的权限。

      如果你无法通过chmod +x scriptname.py来解决这个问题,那么你可能需要考虑以下几点:

      1. 检查脚本的执行权限:在Linux中,执行脚本需要具有执行权限。你可以使用ls -l命令来检查脚本的权限。

      2. 检查脚本是否包含错误的命令或脚本不存在:如果你的脚本包含错误的命令或脚本不存在,可能会导致权限问题。你需要检查脚本中的命令,确保它们是正确的。

      3. 检查运行脚本的用户:在Linux中,不同的用户可能具有不同的权限。你需要确保你的脚本运行在具有执行权限的用户中。

      4. 使用sudo:在Linux中,你可以使用sudo来运行脚本。sudo可以让你在不具有执行权限的用户中执行脚本。

      希望这些建议能帮到你!

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部