我有两个问题,但它们彼此密切相关。
我有一个 Linode 的新 Debian 服务器,而我以前的服务器是 Hostgator 运行的 CentOS。我经常使用此命令来创建符号链接:
ln -s /home/codebase/classes classes
CentOS 服务器上的权限如下所示:
lrwxrwxrwx 7 root root 4096 Jan 10 classes
权限为 777,所有者:组为 root:root
然而 Debian 服务器会显示
lrwxrwxrwx 7 cpm210 cpm210 4096 Jan 10 classes
这是创建该文件夹的用户:组(无论哪种方式,我都以 root 身份登录)
问题#1,为什么它们有区别,我应该接受 cpm210:cpm210 作为 Debian 服务器的默认值吗?
问题#2:我有一个文件夹,假设里面/var/www/cpm210/public_html
装满了文件,再加上几个文件夹符号链接到其他位置(通常是代码库)。代码库文件夹具有其他权限,因此 apache 只能读取这些文件 - 这正是我想要的。然而,在将文件移动到 public_html 文件夹的过程中,我最终需要发出以下命令:
chown -R cpm210:cpm210 /var/www/cpm210/public_html/*
但我想在不触及符号链接的情况下执行此操作,而只触及文件。
我该怎么做呢?
答案1
只需按照描述chown
使用--dereference
chown(1)
。所以在你的情况下:
chown --dereference -R cpm210:cpm210 /var/www/cpm210/public_html/
由于您使用了 ,所以末尾的通配符也是不必要的-R
。
顺便说一句,相反的是--no-dereference
(短-h
)。