【发布时间】:2021-02-28 05:53:13
【问题描述】:
最近我尝试访问符号链接文件,但收到“拒绝访问”。所以我想要一种方法来更改所有符号链接的目标文件。有一种方法可以在 chown 中执行此操作(即 sudo chmod -R 775 /var/www/),但不是 chmod。很奇怪。有没有人有更好的方法来做到这一点:
ls -lR /var/www/ | grep ^l | awk '{print $11, $12, $13, $14}' | sed -e 's/[[:space:]]*$//' | sed 's/.*/"&"/' | xargs -n 1 sudo chmod 775
-
ls -lR /var/www/查找 /var/www 中的所有文件 -
grep -l过滤掉所有的符号链接文件 -
awk {print $11, $12, $13, $14}打印所有文件,包括带有空格的文件(更多的空格包含更多的数字) -
sed -e 's/[[:space:]]*$//'通过在 awk 中包含空格来删除剩余的尾随空格 -
sed 's/.*/"&"/'在每个文件周围添加引号以包含目录中带有空格的文件 -
xargs -n 1 sudo chmod 775对找到的所有文件执行 chmod 功能
【问题讨论】:
-
这里的奇数是什么?
-
改用
find /var/www -type l -exec chmod 0775 {} \;可能更容易 -
你想改变链接的权限,或者它指向的文件?
-
@beepbeep 在 Ubunutu 系统上我刚刚测试过“chmod”更改了真实文件的权限,而不是符号链接。您是否尝试更改符号链接的权限?