![如何锁定 Deluge 的配置文件以防止其被修改?](https://linux22.com/image/1052626/%E5%A6%82%E4%BD%95%E9%94%81%E5%AE%9A%20Deluge%20%E7%9A%84%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BB%A5%E9%98%B2%E6%AD%A2%E5%85%B6%E8%A2%AB%E4%BF%AE%E6%94%B9%EF%BC%9F.png)
我正在 Ubuntu Server 15.04 上为 3 个用户设置种子箱。每个用户都运行各自的 deluge 和 deluge-web 副本,并拥有自己的主目录,deluge 的配置文件就存放在该目录中。我优化了文件以提高速度,现在我想锁定它们以防止它们发生任何更改(这样用户就无法使用 deluge-web ui 或 deluge 客户端更改配置)。
我尝试的是:
我通过 root 更改了文件的所有权(并删除了全局权限),但随后这些文件就被 deluged 删除并替换为新的配置文件。我还通过 chattr 为它们赋予了 +i 属性,这样即使 root 也无法在不删除“i”标志的情况下修改/删除文件,但随后 deluged 只是创建了一个新的配置文件:core.conf.new,可以通过 deluge-web ui 进行修改。
我如何锁定文件。还有其他方法可以防止用户修改 deluge 的配置吗?目前,我想锁定每个用户目录中的 core.conf 和 ltconfig.conf,并强制 deluge 使用这些配置文件,但如果还有其他方法,我很乐意听到。
答案1
Deluge 仅在启动时读取 conf 文件,因此尽管您可以阻止将设置保存到磁盘,但它们仍将在代码中应用,直到下次重新启动。 这样的文件core.conf.new
并不意味着应用程序已更新core.conf
,它只是一个临时文件。
唯一的选择是修改 ConfigManager 代码或使用具有多用户支持的 Deluge 开发版本,但没有发布时间表。
答案2
尽管我确实在多个用户中使用 deluge,但我运行多个deluged
实例。每个实例都使用自己的目录和core.conf
。为此,在启动 时deluged
,您需要包含使用特定 的选项core.conf
。例如:
/usr/bin/deluged -d -c /storage/delgsvr10 -L warning -l /storage/delgsvr10/deluged.log
此命令deluged
使用 -d -c -L -l 选项启动。运行deluged -h
以获取每个选项的定义。请注意,指定配置文件时,只需指定目录,而不是文件。这至少适用于 1.3.6 版本。