在 updatedb 上使用 root 权限设置 setuid 有什么危险吗?
Is there any dangers to setuid with root permission on updatedb?
我很想使用
# chmod u+s /usr/bin/updatedb
能够 运行 它随处可见。我有什么理由不应该这样做吗?
我的意思是,知道只有 root 用户可以使用 updatedb
,而每个人都可以使用 locate
,这是否会增加我系统的不安全性?
我能想到的主要原因是 updatedb
在我所知道的任何发行版中都还没有 setuid,所以它可能没有被审查到通常 setuid 程序应该达到的程度。即使 locate
在 Arch Linux:
上也只是 setgid
$ stat --format %A $(which locate)
-rwxr-sr-x
这意味着它与文件所有者的组一起执行:
$ stat --format %G $(which locate)
locate
所以它作为 "locate" 组执行,但 作为原始用户执行。 这最大限度地减少了 "locate" 组有权访问的攻击面,大概只是定位数据库。
setuid 和 setgid 是您作为用户很少需要自己更改的东西(在 Linux 使用 10 多年的时间里我从来不需要这样做)。如果需要的话,包中的可执行文件在安装时是 setuid 或 setgid,例如上面的 locate
或者可以说是最著名的 setuid 程序 sudo
:
$ stat --format %A $(which sudo)
-rwsr-xr-x
updatedb
通常由 cron 作业 运行。如果这对您来说不够频繁,您有多种选择:
- 运行
sudo updatedb
(不需要 su
)只要你想要一个最新的文件列表。
- 增加cron 作业的频率。这可能会在首先安装 cron 作业的软件包的下一次更新中被覆盖,但另一方面,它可能只是添加另一个 cron 作业。
- 添加另一个频率更高的 cron 作业。
- 运行 a service 以 root 身份监视重要目录的更改和 运行
updatedb
添加或删除文件时。这可能已经存在(我不知道),或者您可以使用 inotifywait
创建您自己的。只需确保两件事:
- 不要监视整个磁盘的变化,因为它会 运行ning
updatedb
不断。
- 不要 运行 一个
updatedb
每个文件更改 ,因为这样你可能会 运行 背对背成千上万。
我很想使用
# chmod u+s /usr/bin/updatedb
能够 运行 它随处可见。我有什么理由不应该这样做吗?
我的意思是,知道只有 root 用户可以使用 updatedb
,而每个人都可以使用 locate
,这是否会增加我系统的不安全性?
我能想到的主要原因是 updatedb
在我所知道的任何发行版中都还没有 setuid,所以它可能没有被审查到通常 setuid 程序应该达到的程度。即使 locate
在 Arch Linux:
$ stat --format %A $(which locate)
-rwxr-sr-x
这意味着它与文件所有者的组一起执行:
$ stat --format %G $(which locate)
locate
所以它作为 "locate" 组执行,但 作为原始用户执行。 这最大限度地减少了 "locate" 组有权访问的攻击面,大概只是定位数据库。
setuid 和 setgid 是您作为用户很少需要自己更改的东西(在 Linux 使用 10 多年的时间里我从来不需要这样做)。如果需要的话,包中的可执行文件在安装时是 setuid 或 setgid,例如上面的 locate
或者可以说是最著名的 setuid 程序 sudo
:
$ stat --format %A $(which sudo)
-rwsr-xr-x
updatedb
通常由 cron 作业 运行。如果这对您来说不够频繁,您有多种选择:
- 运行
sudo updatedb
(不需要su
)只要你想要一个最新的文件列表。 - 增加cron 作业的频率。这可能会在首先安装 cron 作业的软件包的下一次更新中被覆盖,但另一方面,它可能只是添加另一个 cron 作业。
- 添加另一个频率更高的 cron 作业。
- 运行 a service 以 root 身份监视重要目录的更改和 运行
updatedb
添加或删除文件时。这可能已经存在(我不知道),或者您可以使用inotifywait
创建您自己的。只需确保两件事:- 不要监视整个磁盘的变化,因为它会 运行ning
updatedb
不断。 - 不要 运行 一个
updatedb
每个文件更改 ,因为这样你可能会 运行 背对背成千上万。
- 不要监视整个磁盘的变化,因为它会 运行ning