我以 root 身份创建了一个目录,但当我尝试更改其所有权时,它却不会改变!我不知道为什么。(为了简洁起见,我截取了结果ls -halg
,以防您想知道为什么某些文件丢失……)
root@localhost:/opt/tomcat/conf# mkdir Catalina
root@localhost:/opt/tomcat/conf# ls -halg
total 244K
drwxr-x--- 3 tomcat 4.0K May 12 17:09 .
drwxr-xr-x 9 tomcat 4.0K May 10 02:34 ..
drwxr-xr-x 2 root 4.0K May 12 17:09 Catalina
-rw-r----- 1 tomcat 13K May 12 15:32 catalina.policy
-rw-r----- 1 tomcat 7.1K Mar 30 10:29 catalina.properties
root@localhost:/opt/tomcat/conf# chown tomcat Catalina
root@localhost:/opt/tomcat/conf# ls -halg
total 244K
drwxr-x--- 3 tomcat 4.0K May 12 17:09 .
drwxr-xr-x 9 tomcat 4.0K May 10 02:34 ..
drwxr-xr-x 2 root 4.0K May 12 17:09 Catalina
-rw-r----- 1 tomcat 13K May 12 15:32 catalina.policy
-rw-r----- 1 tomcat 7.1K Mar 30 10:29 catalina.properties
root@localhost:/opt/tomcat/conf#
昨天我创建 tomcat 目录时,它很高兴地将chown -R /opt/tomcat
所有东西都发送给了 tomcat 用户,就像它应该的那样。我真的很困惑为什么这么简单的命令会失败。
答案1
一方面:
chown
简单用户参数,不包括分隔符:
(或过时的.
)会改变用户进一步指定文件的所有权,并离开团体文件的所有权保持不变。
另一方面:
ls -halg
仅显示团体由于包含选项,因此文件在其输出中的所有权-g
。
因此只改变用户,它起作用了(没有显示错误)并没有改变的结果ls -halg
。ls -hal
应该在这里使用才能看到变化。