在访问我使用相同应用程序创建的文件时,Linux中的权限被拒绝
我正在开发一个需要存储一些信息的程序,我决定使用一个简单的文件.
当程序启动时,它会执行以下代码,如果文件存在,则应该以附加模式打开文件,如果不存在则创建文件 if((fd = open(path,O_APPEND|O_CREAT|O_RDWR,666)) < 0) { perror("Database open failed"); } else if(chmod(path,666) < 0) { perror("Database set permissions failed"); } else if((stream = fdopen(fd,"a+")) == NULL) { perror("Database get stream failed"); } 当文件不存在时,它已成功创建,程序运行正常.但是当文件已经存在时,它会显示“权限被拒绝”,即使它是创建该文件的同一用户下的相同程序. 更多细节: >我正在使用Ubuntu 12.04 LTS 谢谢! 解决方法
根据open()的
man page,(某些)模式字段所需的值是
等等. 所以,我们可以清楚地看到,符号是八进制的.您需要使用0666来表示八进制表示法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |