MYV*_*MYV 2 linux permissions ubuntu
我注意到在 ubuntu 中,mktemp 允许用户在目录中创建临时文件,即使该用户不允许写权限。因此,我希望 mktemp 上的权限可以读取这样的内容,在运行时为用户提供临时 root 权限:
-rwsr-xr-x 1 root root 35392 Nov 19 2012 mktemp
Run Code Online (Sandbox Code Playgroud)
但相反,他们读的是这样的:
-rwxr-xr-x 1 root root 35392 Nov 19 2012 mktemp
Run Code Online (Sandbox Code Playgroud)
我认为有一个 's' 的地方有一个 'x',这意味着 mktemp 不以 root 权限运行。mktemp 如何在没有权限的情况下在目录中创建临时文件?
mktemp, 默认在 下创建一个临时目录/tmp,默认任何人都可以写;如果您将--tmpdir选项传递给mktemp(或设置TMPDIR环境变量),它将尝试在选项参数给定的目录中创建一个临时目录,除非您在给定目录中具有写权限,否则这将失败。例如:
[me@box] $ mktemp
/tmp/tmp.sL1g7rRGQv
[me@box] $ mktemp --tmpdir=/root
mktemp: failed to create file via template `/tmp.XXXXXXXXXXX': Permission denied
Run Code Online (Sandbox Code Playgroud)
如果你正在做,例如,mktemp --tmpdir=/root作为一个非 root 用户并且它没有失败,那么一些非常奇怪的事情正在发生。你确定这是你看到的吗?
| 归档时间: |
|
| 查看次数: |
17767 次 |
| 最近记录: |