日期:2014-05-16  浏览次数:20695 次

怎么用文件实现不同用户之间的拷贝?
在ubuntn下实现不同用户之间的文件拷贝,出现了错误;
代码如下:

  std::string cmd_cp = "cp /home/liuwei/Desktop/v2.0.1.apk /etc/udev/rules.d/";
    system(cmd_cp.c_str());

cannot create regular file `/etc/udev/rules.d/v2.0.1.apk': Permission denied

用代码,怎么才能做到不同权限的用户之间拷贝文件呢?
------解决方案--------------------
肯定要符合用户权限树,最高级别的用户才可以从别的用户那里拷贝
所以,一定是要符合权限的考量
------解决方案--------------------
使用ftp.有相关的开源库。或者用脚本,在程序中调用脚本就可以
------解决方案--------------------
system命令原理是调用shell,所以肯定有权限问题。
理论上,用户空间的代码访问文件系统都是要受权限制约的。
少不了要用管理员权限执行程序。
------解决方案--------------------
expect脚本中调用shell命令要用exec

所以mv/cp要用exec mv/cp
------解决方案--------------------
没权限就是没权限, /etc岂是普通用户能改的?