在访问我使用相同应用程序创建的文件时,Linux中的权限被拒绝
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在访问我使用相同应用程序创建的文件时,Linux中的权限被拒绝,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1081字,纯文字阅读大概需要2分钟。
内容图文
![在访问我使用相同应用程序创建的文件时,Linux中的权限被拒绝](/upload/InfoBanner/zyjiaocheng/966/dc99f222be0b438aa44c6bccb8b9c302.jpg)
我正在开发一个需要存储一些信息的程序,我决定使用一个简单的文件.
当程序启动时,它会执行以下代码,如果文件存在,则应该以附加模式打开文件,如果不存在则创建文件
(程序第一次加载它应该在下次创建它时只需要使用相同的文件)
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
>当我使用“ls -l”检查时,文件的权限是:“ – w – wx-wT”
>从666终端进行chmod-ing解决问题
> chmod() – 在代码中没有任何帮助
谢谢!
解决方法:
根据open()的man page,(某些)模式字段所需的值是
S_IRWXU
00700 user (file owner) has read, write and execute permission
S_IRUSR
00400 user has read permission S_IWUSR 00200 user has write permission
S_IXUSR
00100 user has execute permission
等等.
所以,我们可以清楚地看到,符号是八进制的.您需要使用0666来表示八进制表示法.
内容总结
以上是互联网集市为您收集整理的在访问我使用相同应用程序创建的文件时,Linux中的权限被拒绝全部内容,希望文章能够帮你解决在访问我使用相同应用程序创建的文件时,Linux中的权限被拒绝所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。