为什么要以系统用户身份运行服务?


19

我对UNIX世界有一个一般性的问题。

我目前正在家里运行Ubuntu,并在设备上安装了Transmission,它以Transmission-Debian用户身份运行并保存文件。我想知道将它更改为自己的用户是否对我有意义,因此与文件交互更容易,并且我不需要sudo吗?为什么这是个坏主意呢?

Answers:


40

建议将Transmission以其自己的专用系统用户而不是您的用户身份运行的主要原因是,如果该软件具有的漏洞允许利用该漏洞的人将其配置目录之外的文件暴露出来,则它最终不会暴露出可能的漏洞。您的主目录中包含敏感文件,因为Linux本身会通过基本权限阻止此类访问。

为了使普通用户更容易管理传输目录中的文件,您应该考虑将用户添加到debian-transmission组中,该组是拥有传输目录中文件并且具有(或至少应具有)的组对该目录及其中文件的读/写访问权限。

Ubuntu的HOWTO表明此命令(稍微适应从一个环境变量,让你的用户):

sudo usermod -a -G debian-transmission "$USER"

(请记住在运行后注销并再次登录usermod,因为它不会影响任何现有进程的组。)

希望这将使您可以更轻松地管理通过Transmission下载的文件,同时仍使其在其专用系统用户下运行,以提高安全性。


1
我本人也遇到同样的问题,一直在考虑将服务更改为普通用户。这样好多了。谢谢!
Alko

3
您也可以使用目录的默认权限,但要授予您权限setfacl。看到unix.stackexchange.com/questions/101263/...
CTRL-ALT-delor

1
嘿,非常感谢。
ScipioAfricanus
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.