问题描述
我有一台运行 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。