【发布时间】:2016-10-27 16:08:25
【问题描述】:
我在 Centos 上根据 https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-centos-7 设置 Tomcat,但有一个转折点:我将 Tomcat 放在 /opt/apache-tomcat-8.5.6 中,然后设置一个符号链接:
sudo ln -s /opt/apache-tomcat-8.5.6 /opt/tomcat
现在我将/opt/tomcat的群组所有权更改为tomcat:
sudo chgrp -R tomcat /opt/tomcat/conf
然后我授予tomcat 组对配置目录的写入权限:
sudo chmod g+rwx /opt/tomcat/conf
但问题是:我尝试授予tomcat 组对所有配置文件的读取权限:
sudo chmod g+r /opt/tomcat/conf/*
这给了我一个错误:chmod: cannot access ‘/opt/tomcat/conf/*’: No such file or directory
什么? chmod 不接受通配符吗?还是它不查看符号链接?怎么回事?
请注意,我这样做是为了解决这个问题:
sudo chmod g+r -R /opt/tomcat/conf
这实际上给了我同样的东西吗? (我知道它还使组可以读取目录,但这似乎无关紧要 --- 组已经可以读取目录。)为什么通配符版本不起作用?
【问题讨论】:
-
目录里有文件吗?
-
您运行的用户是否对该目录具有 +rx 权限? (您的用户,不是 root 或 tomcat)。这是扩展 glob 所必需的。
-
否;
sudo不处理这个吗? -
没有。在 sudo 和 chmod 运行之前,shell 会扩展 Glob。
-
疯了!!好的,这是一个我不知道的“陷阱”。你能把它放在一个实际的答案中,以便我可以在这里接受吗?