当前位置: 首页>>技术教程>>正文


如何更改 transmission-daemon 创建的文件的默认权限?

问题描述

我有一台运行 Ubuntu 12.04 服务器的机器,运行 transmission-daemon 来处理比特流。一切正常,除了 transmission-daemon 创建文件作为用户/组 debian-transmission 并具有 744 个文件权限。

  • 我希望能够从 samba 共享中删除和移动这些文件。

  • 我考虑过更改用户 debian-transmission 的主要组,但我担心这可能会扰乱对其他文件的访问。

  • 我觉得把debian-transmission创建的新文件的默认权限改成774比较好,把自己加入到组debian-transmission中。 \n我知道这可以通过 umask 完成,但我的理解是这将在 .profile 文件中设置,并且由于 debian-transmission 没有主文件夹,我不确定用户是否存在该文件。那么我该如何实现呢? \n欢迎提出建议或替代解决方案。提前致谢。

最佳方案

您可以在传输的配置文件 (/etc/transmission-daemon/settings.json) 中指定一个 umask。我们通常用八进制表示的 Umask,但不幸的是,json 不支持它,所以我们必须将它转换为 10 进制。你可以在 shell 中这样做:

$ echo $(( 8#022 ))
18

这是默认值,但您可能需要 002,十进制相同,所以

sudo editor /etc/transmission-daemon/settings.json
# change "umask": 18 to "umask": 2 and save
sudo reload transmission-daemon # tells transmission-daemon to re-read the config 
                                # file. This is important, otherwise, the changes
                                # will be lost

另一件事。如果更改下载目录的组所有权,并在其上添加 setgid 位,则在该目录中创建的所有文件都将具有与该目录相同的组所有权。

sudo chgrp "$USER" /path/to/transmission/download/dir
sudo chmod g+s /path/to/transmission/download/dir

它不会影响已经存在的文件。有关更多信息,请参见 http://mywiki.wooledge.org/Permissions

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/13351.html,未经允许,请勿转载。