Linux使用两点笔记

root都无权限查看的文件

在/tmp/下有一个符号链接(symbolic link)文件,发现ls查询不了,cd也进不去(Permission denied),而我当前是root帐号耶!

一番查证之后,发现原来这是Linux系统的一个安全策略。首先来了解一下一个很容易产生的安全漏洞问题:TOCTOU。TOCTOU是time-of-check-to-time-of-use的缩写,意思是在检查文件权限和使用文件之间会有一个时间差,而在/tmp/这样一个world-writable的地方,这个时间差就会引发严重的权限被盗用的问题。比如,root在检查/tmp/ 下的一个文件后,正准备去使用它,就在此时,另一个普通用户将该文件替换成了另一个文件的链接,结果就导致root在使用文件过程中,可能会root权限被该普通用户所利用。

为了避免这个问题,所以就会出现边root也无法在/tmp/下查看其他用户创建的符号链接文件。

sysctl -w fs.protected_symlinks=0

如上设置,可以关闭这一保护。

切换其他用户执行命令

有时候nginx或者php是以其他帐号运行的,比如www-data,发现root下不会出问题的命令,换用其他帐号就会出问题,这时需要借用其他帐号来执行命令,重现问题。有如下一些常用写法:

sudo -H -u otheruser bash -c 'echo "I am $USER, with uid $UID"'
sudo -u otheruser env PATH='/usr/local/bin/' bash -c 'ls'
sudo -u otheruser ls

 

发表于9天前   修改于9天前   评论:0   阅读:67  



回到顶部

首页 | 关于我 | 关于本站 | 站内留言 | rss
python logo   django logo