我有一个目录(称为服务器),其中的权限不知何故被弄乱了,所以我需要将所有权限改回来。我当前的命令是
sudo chmod -R -c a+w *
但是 chmod 只是说chmod: cannot access '*': No such file or directory
我在这里做错了什么?我是否忽略了一些显而易见的东西?
答案1
仅当当前文件夹中没有任何文件时才会发生此错误。执行ls命令来检查它。
答案2
.
也许您搞错了“ ”(当前目录)或“ ..
”(父目录)的权限。
/bin/ls -ld . ..
应该显示类似
walt@bat:~(0)$ /bin/ls -ld . ..
drwx------ 255 walt walt 282624 Dec 2 13:50 .
drwxr-xr-x 7 root root 36864 Sep 10 12:08 ..
walt@bat:~(0)$ cd tmp
walt@bat:~/tmp(0)$ /bin/ls -ld . ..
drwx------ 51 walt walt 12288 Oct 31 01:27 .
drwx------ 255 walt walt 282624 Dec 2 13:50 ..
walt@bat:~/tmp(0)$
读man -a chmod
。
答案3
* 文件通配符不会自动扩展以点 (.) 开头的文件。任何此类文件都不会包含在内,并且如果所有文件/目录都以点开头,则不会包含任何文件/目录,从而产生错误消息。
答案4
我修复了它!结果发现不知何故我的server
文件夹归 root 所有,这意味着 chmod 无法看到它。我chown
过去常常将权限改给我自己。