以递归方式更改目录中文件的权限

时间:2013-07-26 23:27:38

标签: linux find chmod

我正在尝试使用以下命令更改目录和子目录中存在的文件的权限,并运行到下面的错误..有人可以帮忙吗?

user@machine:/local/mnt/workspace$ find . -type f -exec chmod 644 {} \;
chmod: changing permissions of `./halimpl/ncihal/adaptation/NonVolatileStore.cpp': Operation not permitted

4 个答案:

答案 0 :(得分:11)

您可以运行以下命令:

 #chown -R directory_path

但它也会改变目录的权限。

仅限文件,您可以运行。

 #find directory_path -type f -exec chmod 644 {} \;

看起来你也没有足够的权限。尝试

 #sudo find directory_path -type f -exec chmod 644 {} \;

或以root用户身份运行命令。

答案 1 :(得分:2)

在我看来,您无权更改NonVolatileStore.cpp。

您是否知道递归更改权限的chmod -R次切换?

答案 2 :(得分:2)

如果您拥有root权限,请尝试:

sudo find . -type f -exec chmod 644 {} \;  

答案 3 :(得分:0)

可能是您根本就没有该文件。在其上运行ls -l即可查看完整权限以及所有者是谁。

也可能是文件系统是只读的。