我有以下目录 ( /usr/local)
rwxr-xr-x. 43 root root 4096 Jul 25 14:19 .
rwxr-xr-x. 14 root root 4096 Feb 21 10:27 ..
rwxr-xr-x. 2 root root 4096 Jun 28 2011 bin
[...]
rwxr-xr-x 1 root root 8192 Jul 25 13:41 bad_dir
rwxr-xr-x. 4 root root 4096 Mar 28 11:56 good_dir
Run Code Online (Sandbox Code Playgroud)
我以 root 身份登录。当我运行时chown root:root good_dir一切正常,但是当我运行时chown root:root bad_dir我得到了chown: changing ownership of '/usr/local/bad_dir': Permission denied
bad_dir 有什么问题?我应该改变什么才能chown正常工作?我在权限末尾看到一个点,但我不知道它是什么意思。
更新
跑步
echo 0 > /selinux/enforce
chmod 755 bad_dir
Run Code Online (Sandbox Code Playgroud)
也给 chmod: changing permissions of 'bad_dir': Permission denied
更新 2
的输出ls -la /usr是
total 128
drwxr-xr-x. 14 root root 4096 Feb 21 10:27 .
dr-xr-xr-x. 24 root root 4096 May 28 08:22 ..
dr-xr-xr-x. 2 root root 28672 Jun 27 10:29 bin
drwxr-xr-x. 2 root root 4096 Jun 28 2011 etc
drwxr-xr-x. 2 root root 4096 Jun 28 2011 games
drwxr-xr-x. 36 root root 4096 Jul 23 14:04 include
dr-xr-xr-x. 12 root root 4096 Apr 11 17:10 lib
dr-xr-xr-x. 45 root root 36864 Jul 23 14:04 lib64
drwxr-xr-x. 14 root root 4096 Mar 28 11:58 libexec
drwxr-xr-x. 43 root root 4096 Jul 25 14:34 local
drwxr-xr-x. 3 root root 4096 Feb 21 10:27 man
dr-xr-xr-x. 2 root root 12288 Jul 23 14:04 sbin
drwxr-xr-x. 106 root root 4096 Mar 28 12:00 share
drwxr-xr-x. 4 root root 4096 Nov 20 2013 src
lrwxrwxrwx. 1 root root 10 Nov 20 2013 tmp -> ../var/tmp
Run Code Online (Sandbox Code Playgroud)
这些目录需要 x 权限才能打开。你也许可以做,
chmod 755 bad_dir然后尝试你的chown命令。
根据here,末尾的点表示,
根据ls.c(第 3785 行),.表示SELinux ACL。(+表示通用 ACL。)
如果是SELinux搞乱的话,使用setenforce修改它的模式。运行setenforce 0以将 SELinux 置于宽容模式并将setenforce 1其重新置于强制模式。