即使在chmod 777之后,权限也被拒绝

时间:2016-03-10 14:48:41

标签: python cygwin

我有一个需要访问文件夹中3个文件的python脚本。当我运行脚本时,我得到以下内容:

$ python mqtt_pub_test.py
Traceback (most recent call last):
  File "mqtt_pub_test.py", line 10, in <module>
    mqttc.tls_set(my_ca_cert, certfile=my_pri_cert, keyfile=my_key_cert)
  File "C:\Python27\lib\site-packages\paho\mqtt\client.py", line 557, in tls_set
    raise IOError(ca_certs+": "+err.strerror)
IOError: C:\Users\<user>\my_phone_certs: Permission denied

为了解决这个问题,我在该路径中的所有内容上运行了chmod 777,甚至是文件本身! mqttc.tls_set中的变量指向文件夹位置。 我不知道为什么我现在仍然被拒绝许可。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您正在尝试访问无法编辑的文件: mqttc.tls_set(my_ca_cert, certfile=my_pri_cert, keyfile=my_key_cert)

如果是在Linux中,您可以以超级用户(sudo python mqtt_pub_test.py)运行该脚本。

答案 1 :(得分:0)

如果您在类似cygwin的环境中运行(您在评论中描述),则应将其用作文件描述符,或者让文件指针类似于/cygdrive/c/Users/yourusername/phone_certs(或用于git) bash例如/c/Users/youruser/phone_certs)。

我真的建议你完全转移到cygwin因为它在Windows上为你提供了一个更加完整的类似linux的环境,非常方便。