Pet*_*uss 3 root permissions symlink tmp chown
符号链接不起作用,使用标准 UBUNTU 16 LTS...它显示“权限被拒绝”,我希望在那里获得访问权限,即使在chown
.
完整示例:
sudo rm /tmp/file.txt # if exist, remove
cd ~
sudo chmod 666 data/file.txt
ls -l data/file.txt # "-rw-rw-rw-" as expected
more data/file.txt # working fine
sudo ln -sf $PWD/data/file.txt /tmp/file.txt # fine
ls -l /tmp/file.txt # "lrwxrwxrwx", /tmp/file.txt -> /home/thisUser/file.txt
more /tmp/file.txt # fine
sudo chown -h postgres:postgres /tmp/file.txt
sudo more /tmp/file.txt # NOT WORK! but its is sudo! and 666!
Run Code Online (Sandbox Code Playgroud)
这些操作应导致错误消息:Permission denied。目录/tmp
具有包括粘滞位在内的权限。该错误是内核配置的结果fs.protected_symlinks
。
要显示设置,sysctl fs.protected_symlinks
。这等于1
设置时。暂时禁用,不推荐,sysctl -w fs.protected_symlinks=0
。要永久关闭(同样不推荐),请使用/etc/sysctl.conf
。
有关更多信息,请参阅patchwork.kernel.org。
为避免链接失效,超链接中符号链接的主要摘要段落如下。
Kees Cook - 2012 年 7 月 2 日,晚上 8:17
这为 Linux VFS 添加了符号链接和硬链接限制。
符号链接:
一类长期存在的安全问题是基于符号链接的 time-of-check-time-of-use 竞争,最常见于世界可写目录,如 /tmp。利用此漏洞的常见方法是在跟随给定符号链接时跨越权限边界(即根进程跟随属于另一个用户的符号链接)。有关多年来数百个示例的可能不完整列表,请参阅:http : //cve.mitre.org/cgi-bin/cvekey.cgi?keyword=/tmp
解决方案是允许符号链接仅在处于粘性世界可写目录之外时,或者当符号链接的 uid 和跟随者匹配时,或者当目录所有者与符号链接的所有者匹配时才被跟踪。