我之前安装过 Windows,在使用它时下载了一些文件。然后我将 Backtrack 5 R3 安装为双启动,并在启动 BT 时将 Windows 上的文件复制到 BT,并且成功了。(而且我在 BT 上始终以 root 身份登录)然后我删除了 Windows 并安装 Ubuntu 14.04 作为双启动,并将 BT 上的文件复制到 Ubuntu。
问题是,当我想在 Ubuntu 启动时打开或访问 Ubuntu 上的文件时,我无法打开或访问;我收到错误消息
You do not have the permissions necessary to view the contents of “files”
但是我可以使用带有to 的ls
命令但不能使用; 当我尝试时我得到了。sudo
sudo ls files
cd
sudo: cd: command not found
我发现有效的方法是以 root 身份登录终端并以此方式打开/访问文件。但效率不高;我仍然无法通过图形文件管理器打开文件。然后我在许多线程上查找了它,我发现唯一有效的方法是,sudo chmod go+rx files
但问题是它只能files
访问文件夹,而不能访问子文件夹,如果我尝试逐个对子文件夹使用相同的命令,它可以工作,但我有数百个子文件夹,其中也有子文件夹。
所以我问是否有更实用的方法。
答案1
只需添加-R
选项即可递归更改指定目录下每个文件和目录的所有权限。例如,递归添加文件夹名称的所有者和组的读写权限:
sudo chmod -R ug+rw foldername
读有关权限的更多信息...
答案2
不要赋予整个目录结构不安全的权限,以允许任何用户向其中的任何文件写入任何内容,而是让自己成为所有者(递归地,使用标志-R
):
sudo chown -R $USER: files
可能根本不需要,但是如果仍然有问题,请通过使用父目录chmod
检查所有者是否对目录具有读、写和执行权限,以及对文件的读写权限:find
find files -type d ! -perm -u=rwx
如果发现什么,请添加-exec
以更改模式:
find files -type d ! -perm -u=rwx -exec chmod u+rwx {} +
然后对于常规文件:
find files -type f ! -perm -u=rw
如果你发现:
find -type f ! -perm -u=rw -exec chmod u+rw {} +
这可以说比使用-R
标志更好,chmod
因为我们不想赋予文件和目录相同的权限。
答案3
如果您从存储库安装 nautilus-admin 插件,您可以打开(右键单击)任何文件或文件夹并在“属性”选项卡中更改权限。
对于喜欢该问题的人来说,这是一个 GUI 解决方案。