debian-transmission
我有一台运行 Ubuntu 12.04 服务器的机器,其中运行 transmission-daemon 来处理 bitorrent。除了 transmission-daemon 以用户/组身份创建文件,并且具有 744 个文件权限外,其他一切都正常。
我希望能够从 Samba 共享中删除并移动这些文件。
我考虑过更改用户 debian-transmission 的主要组,但我担心这可能会影响对其他文件的访问。
我认为最好将 debian-transmission 创建的新文件的默认权限更改为 774,并将自己添加到组 debian-transmission 中。
我知道可以使用 umask 来完成此操作,但我的理解是,这将在 .profile 文件中设置,并且由于 debian-transmission 没有主文件夹,我不确定该文件是否存在于用户。那么我该如何实现这一点呢?
欢迎提出建议或替代解决方案。提前致谢。
答案1
您可以在 transmission 的配置文件 ( /etc/transmission-daemon/settings.json
) 中指定 umask。umask 通常以八进制表示,但不幸的是,json 不支持这种表示法,因此我们必须将其转换为十进制。您可以在 shell 中像这样执行此操作:
$ echo $(( 8#022 ))
18
这是默认值,但你可能想要 002,它在十进制中是相同的,所以
sudoedit /etc/transmission-daemon/settings.json
然后改为"umask": 18
并"umask": 2
保存。
sudo systemctl reload transmission-daemon
这告诉 transmission-daemon 重新读取配置文件。这很重要,否则更改将不会被采用。
还有一件事。如果您更改下载目录的组所有权,并在其上添加 setgid 位,则在该目录中创建的所有文件都将具有与该目录相同的组所有权。
sudo chgrp "$USER" /path/to/transmission/download/dir
sudo chmod g+s /path/to/transmission/download/dir
它不会影响已存在的文件。请参阅http://mywiki.wooledge.org/Permissions了解更多信息。