AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[symbolic-link](server)

Martin Hope
David Scherfgen
Asked: 2021-04-20 06:43:15 +0800 CST

Apache:不要为某些不存在的文件(常规文件或符号链接)记录错误

  • 2

我想防止 Apache 为某些经常请求的不相关的不存在文件记录“文件不存在”错误,例如“apple-touch-icon-120x120.png”。这些日志条目使我的日志杂乱无章,很难看到“真正的”问题。这就是我想出的:

RewriteCond %{REQUEST_URI} ^/apple-touch-icon(-\d+x\d+)?(-precomposed)?\.png$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^ - [redirect=404]

想法:如果请求的文件不是常规文件并且也不是符号链接,则 RewriteRule 将导致错误不被记录。那种作品。

现在我面临以下问题:如果我实际上创建了一个名为“apple-touch-icon-120x120.png”的符号链接,那么我的 RewriteRule 仍然会触发并且我得到 404。没有规则或者当我将文件设为常规文件时文件而不是符号链接,则该文件已正确提供。我认为通过使用!-l标志,只有在请求的文件不是常规文件并且它也不是符号链接时,我才能触发我的规则。但这似乎不起作用...

我在 Apache 的错误日志中没有看到任何可疑之处。我在这里可能做错了什么?

apache-2.2 symbolic-link mod-rewrite rewritecond
  • 1 个回答
  • 230 Views
Martin Hope
user2723490
Asked: 2017-03-16 22:24:24 +0800 CST

如何在 Linux 上删除“update-alternatives”链接

  • 12

很抱歉问这个问题,但我无法在几个小时内解决这样一个简单的问题:

我犯了一个错字

update-alternatives --install /usr/lib64/R/lib/libRblapack.so libRblapack.so /usr/lib64/R/lib/libRblapack_native.so 100

它应该是 libRlapack.so 而不是 libRblapack。问题是,如果发出正确的命令行,即

update-alternatives --install /usr/lib64/R/lib/libRlapack.so libRlapack.so /usr/lib64/R/lib/libRlapack_native.so 100

它返回一个错误:

libRlapack.so 的主链接必须是 /usr/lib64/R/lib/libRblapack.so

我试过了

update-alternatives --remove libRblapack.so /usr/lib64/R/lib/libRblapack.so

但它不起作用 - 输入正确的命令时返回相同的错误。

我怎样才能修复它?

谢谢!

linux centos debian symbolic-link
  • 2 个回答
  • 40237 Views
Martin Hope
tvl
Asked: 2016-08-11 07:42:24 +0800 CST

使用 Ansible 删除符号链接

  • 8

dead_symlink我在目录下有一个死符号链接/usr/local/bin

当 Ansible 检查它报告它存在的文件时

- stat: "path=/usr/local/bin/dead_symlink"
  register: dead_symlink_bin

- debug: var=dead_symlink_bin.stat.exists

但是当我尝试删除它时,它报告'ok'但没有发生任何事情(符号链接仍然存在)

- name: Remove symlink
  file:
    path: "path=/usr/local/bin/dead_symlink"
    state: absent

我究竟做错了什么?

symbolic-link symlink ansible
  • 2 个回答
  • 20299 Views
Martin Hope
Bondt
Asked: 2016-07-02 04:24:43 +0800 CST

rsync -a 和 -L 冲突?

  • 0

我在多台服务器上工作,需要将大量数据从一台(生产)复制到另一台(暂存)。源服务器(生产)有一个用于共享文件的 NAS,可通过符号链接访问这些文件。

rsync -aL --delete production-2::www/html /var/www/ > /var/log/assets-sync.log


在日志中,我得到以下输出:

symlink has no referent: "/html/share" (in www)
symlink has no referent: "/html/files" (in www)
symlink has no referent: "/html/assets" (in www)

这些都是符号链接。这是否意味着我无法访问 NAS?并且-a和-L在他们想要交付的内容上发生冲突吗?

rsync symbolic-link network-attached-storage copy
  • 1 个回答
  • 530 Views
Martin Hope
Leonard Challis
Asked: 2016-04-28 04:15:32 +0800 CST

为什么 apache 不允许使用 SELinux 进行符号链接?

  • 4

我有一个简单的场景:我想符号链接/home/leonard/apache/sandbox/markdown到/home/leonard/github/markdown-editor,以便markdown-editor可以从我的浏览器中查看。

我设置了链接,ln -s /home/leonard/github/markdown-editor /home/leonard/apache/sandbox/public/markdown它显示出来并且可以很好地导航。

但是,当我在浏览器中查看时,我得到403 Forbidden. 我audit.log的显示如下:

type=AVC msg=audit(1461759062.021:1232192): avc:  denied  { read } for  pid=30107 comm="httpd" name="markdown" dev=md2 ino=25300345 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=lnk_file
type=SYSCALL msg=audit(1461759062.021:1232192): arch=c000003e syscall=4 success=no exit=-13 a0=7f88e34cff28 a1=7ffc036e2dd0 a2=7ffc036e2dd0 a3=7f88dec032e0 items=0 ppid=36009 pid=30107 auid=0 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=88286 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null)
type=AVC msg=audit(1461759062.022:1232193): avc:  denied  { getattr } for  pid=30107 comm="httpd" path="/home/leonard/apache/sandbox/public/markdown" dev=md2 ino=25300345 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=lnk_file
type=SYSCALL msg=audit(1461759062.022:1232193): arch=c000003e syscall=6 success=no exit=-13 a0=7f88e34d0018 a1=7ffc036e2dd0 a2=7ffc036e2dd0 a3=1 items=0 ppid=36009 pid=30107 auid=0 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=88286 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null)

我在这里看到了其他问题,询问如何设置符号链接的上下文,但我不确定它们是否相关,因为链接与其他(在浏览器中完全可以查看)相邻目录相同:

[leonard@ombrelle public]$ ls -alZ
drwxr-xr-x. leonard developers unconfined_u:object_r:user_home_t:s0 .
drwxr-xr-x. leonard developers unconfined_u:object_r:user_home_t:s0 ..
-rw-r--r--. leonard developers unconfined_u:object_r:user_home_t:s0 .htaccess
-rw-r--r--. leonard developers unconfined_u:object_r:user_home_t:s0 index.php
lrwxrwxrwx. leonard developers unconfined_u:object_r:user_home_t:s0 markdown -> /home/leonard/github/markdown-editor
drwxr-xr-x. leonard developers unconfined_u:object_r:user_home_t:s0 notes

我怎样才能让符号链接以这种方式工作?

更新

使用伊恩的回答,我跑了audit2why < /var/log/audit/audit.log,得到了:

type=AVC msg=audit(1461761590.750:1232443): avc:  denied  { getattr } for  pid=37683 comm="httpd" path="/home/leonard/apache/sandbox/public/markdown" dev=md2 ino=25300345 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=lnk_file

        Was caused by:
        The boolean httpd_enable_homedirs was set incorrectly.
        Description:
        Allow httpd to read home directories

        Allow access by executing:
        # setsebool -P httpd_enable_homedirs 1

运行setsebool命令神奇地使它工作。我只是不确定/home/*/apache/sitename.tld在没有启用此功能的情况下,我们拥有的所有其他站点 () 是如何工作的?

apache-2.2 symbolic-link selinux centos6.5
  • 2 个回答
  • 2275 Views
Martin Hope
HughG
Asked: 2012-07-17 07:58:19 +0800 CST

如何在 Windows 上自动查找损坏的符号链接?

  • 11

不确定这是否是糟糕的风格,但我在这里问这个问题是因为我在别处找不到答案,然后我自己制定了一个解决方案。我很想看看其他人的解决方案,但几天后我会发布自己的解决方案。

在我的具体情况下,我在 Windows 7 上运行,但我对其他/旧版本 Windows 的答案感兴趣。我意识到一个答案是“安装一个 Unix 版本,然后解决 Unix ”,但我想要一个更“本地”的解决方案。

编辑 2012-07-17:澄清:“自动”我理想的意思是我可以作为脚本的一部分运行,而不是一个 GUI 工具,它可以在按下按钮时完成所有工作,因为我想做这个无人值守。

windows symbolic-link
  • 4 个回答
  • 7540 Views
Martin Hope
MB34
Asked: 2012-06-15 07:24:22 +0800 CST

查找linux软链接

  • 1

我们有一个 ExpressionEngine 安装。CSS 模板存储在名为 /na_cms/expressionengine/templates/default_site/c.group 的目录中

当EE把这些解析出来后,路径就变成了/css/c

EE不改变路径,我估计它是一个符号链接。我怎样才能找到设置的位置?

此外,Javascript 文件位于 j.group 目录中,但链接解析为 /j

它没有在 .htaccess 中完成。

symbolic-link
  • 1 个回答
  • 71 Views
Martin Hope
Benjamin Pollack
Asked: 2012-06-05 06:37:10 +0800 CST

在什么情况下交接点比符号链接更合适?

  • 5

符号链接很久以前就在 Windows 中引入了,但我仍然遇到大量使用连接点的系统。我知道符号链接提供的功能不在连接点(例如,它们在外部驱动器上工作);我的问题是是否有特定于连接点的功能使它们在某些情况下比符号链接更合适。

windows symbolic-link junction-points
  • 2 个回答
  • 449 Views
Martin Hope
Jérôme Verstrynge
Asked: 2012-05-18 04:39:18 +0800 CST

使用绝对路径和相对路径时,符号链接未按预期更新

  • 233

我正在尝试使用符号链接。我做了一些阅读,发现了以下命令:

Creation -> ln -s {/path/to/file-name} {link-name}
Update -> ln -sfn {/path/to/file-name} {link-name}
Deletion -> rm {link-name}

创建和删除工作正常。但是更新不起作用。执行此命令后,符号链接将失效。

我在这里和那里读到不可能更新/覆盖符号链接。所以网上出现了相互矛盾的信息。谁是对的?如果可以更新/覆盖符号链接,我该如何实现?

更新

这是我的目录结构:

~/scripts/test/
~/scripts/test/remote_loc/
~/scripts/test/remote_loc/site1/
~/scripts/test/remote_loc/site1/stuff1.txt
~/scripts/test/remote_loc/site2/
~/scripts/test/remote_loc/site2/stuff2.txt
~/scripts/test/remote_loc/site2/
~/scripts/test/remote_loc/site3/stuff3.txt

从~/scripts/test/,当我执行:

ln -s /remote_loc/site1 test_link

atest_link已创建,我可以创建,ls -l但它似乎已损坏(与我上面在问题中所说的相反)。

如何执行多目录级链接?

symbolic-link update
  • 4 个回答
  • 331972 Views
Martin Hope
jim
Asked: 2010-03-11 17:43:35 +0800 CST

如何验证 CentOS 中是否存在符号链接

  • 2

通常,ls -la会给我这个,但我猜 CentOS 是不同的。我需要验证是否存在符号链接。

centos symbolic-link
  • 3 个回答
  • 9028 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve