我有一台运行 Ubuntu 12.04 服务器的机器,运行传输守护程序来处理 bitorrent。一切正常,除了传输守护程序创建文件作为用户/组debian-transmission、 和 744 文件权限。
我希望能够从 samba 共享中删除和移动这些文件。
我考虑过更改用户 debian-transmission 的主要组,但我担心这可能会破坏对其他文件的访问。
我认为最好将 debian-transmission 创建的新文件的默认权限更改为 774,并将自己添加到 debian-transmission 组中。
我知道这可以用 umask 来完成,但我的理解是这将在 .profile 文件中设置,并且由于 debian-transmission 没有主文件夹,我不确定该文件是否存在于用户中。那么我该如何实现呢?
欢迎提出建议或替代解决方案。提前致谢。
gei*_*rha 53
您可以在传输的配置文件 ( /etc/transmission-daemon/settings.json) 中指定 umask 。我们通常用八进制表示 Umask,但不幸的是,json 不支持它,所以我们必须将它转换为基数 10。你可以在 shell 中这样做:
$ echo $(( 8#022 ))
18
Run Code Online (Sandbox Code Playgroud)
这是默认值,但您可能需要 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
Run Code Online (Sandbox Code Playgroud)
另一件事。如果您更改下载目录的组所有权,并在其上添加 setgid 位,则在该目录中创建的所有文件都将具有与该目录相同的组所有权。
sudo chgrp "$USER" /path/to/transmission/download/dir
sudo chmod g+s /path/to/transmission/download/dir
Run Code Online (Sandbox Code Playgroud)
它不会影响已经存在的文件。有关更多信息,请参阅http://mywiki.wooledge.org/Permissions。