当前位置: 技术问答>linux和unix
Open函数的问题(100分)
来源: 互联网 发布时间:2016-02-03
本文导语: char file[256], buf[1024]; //输入欲传输的文件路经 printf("请输入欲传输的文件路经:%s", file); if ((source=open(file, O_RDONLY))==-1) { perror("源文件打开出错"); ...
char file[256], buf[1024];
//输入欲传输的文件路经
printf("请输入欲传输的文件路经:%s", file);
if ((source=open(file, O_RDONLY))==-1) {
perror("源文件打开出错");
exit(1);
}
在运行的过程中,输入文件完成路经后,显示:
bash: /home/root/Workspace/test/test.txt: 权限不够
我就是以root身份运行的,怎么办?
//输入欲传输的文件路经
printf("请输入欲传输的文件路经:%s", file);
if ((source=open(file, O_RDONLY))==-1) {
perror("源文件打开出错");
exit(1);
}
在运行的过程中,输入文件完成路经后,显示:
bash: /home/root/Workspace/test/test.txt: 权限不够
我就是以root身份运行的,怎么办?
|
perror("源文件打开出错");
bash: /home/root/Workspace/test/test.txt: 权限不够
出错的地方是bash,而不是你的open
bash: /home/root/Workspace/test/test.txt: 权限不够
出错的地方是bash,而不是你的open
|
不因该阿,你用的什么系统?
|
ubuntu?试试看
cd /home/root/Workspace/test/
chmod 755 test.txt
看看行不行
cd /home/root/Workspace/test/
chmod 755 test.txt
看看行不行
|
把file也输出一下,
检查看一下文件权限
检查看一下文件权限
|
像是程序没有执行权限?
|
如果程序真是以root用户运行的应该不存在权限的问题,就是把文件的读写权限都去掉,root用户照样该读
读该写写.不受影响.
但是我们在这里所说的root用户一般就是用户号为0的用户,但是有可能被人为的改变,比如删除root后再添加
root,有可能用户号已经不是0了,这些的话,虽然是root用户,已经不是真正的超级用户了.这就存在权限的问题了.
读该写写.不受影响.
但是我们在这里所说的root用户一般就是用户号为0的用户,但是有可能被人为的改变,比如删除root后再添加
root,有可能用户号已经不是0了,这些的话,虽然是root用户,已经不是真正的超级用户了.这就存在权限的问题了.