如何更改由传输守护程序创建的文件的默认权限?


24

我有一台运行Ubuntu 12.04服务器并运行传输守护程序以处理bitorrent的机器。除了传输守护程序创建文件作为用户/组debian-transmission,并具有744个文件许可权之外,其他所有操作都正常。

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

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

  • 我认为最好将debian-transmission创建的新文件的默认权限更改为774,并将自己添加到组debian-transmission中。

    我知道可以使用umask来完成此操作,但是我的理解是可以在.profile文件中设置它,并且由于debian-transmission没有主文件夹,因此我不确定用户是否存在该文件。那么我该如何完成呢?

    欢迎提出建议或替代解决方案。提前致谢。


在Crystalubuntu上做了这个,现在开始传输时出现错误-“无法将gid设置为113(不允许操作)”。任何的想法?

我最终以crontab条目<pre>#!/ bin / sh trap“”结尾,如下:“ 1 logfile = / dev / null exec> $ logfile 2>&1 set -x为true; 做一个=“ $(inotifywait -q -r -e移动-e创建-e删除/ data / completeddownloads / Movies --format%w%f)” chown -R没有人:没人完成“ $ a” </ pre>

Answers:


45

您可以在传输的配置文件(/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


正是我所需要的。感谢您包含setgid位信息,我忘记了这些额外的位。
2012年

我想我做错了。我想像chmod 775这样设置权限,所以我尝试使用echo $(((8#775)))命令并得到509,但似乎这破坏了传输守护进程,因为它不再下载洪流文件。
Fran Marzoa '16

3
@Fran如果将umask设置为0775,则文件将进入002模式;掩码指定哪些位不要在新文件上设置。您需要此处使用默认的umask(002),以便使用模式664创建文件,并使用模式775创建目录
。– geirha

哦! 我已经意识到我必须放入002,但是我不知道为什么!感谢您的澄清一百万!:)
Fran Marzoa '16

那是chmod g+s我所思念的。谢谢!
flith

0

尝试这个:

mkdir /your_path/progress
mkdir /your_path/completed
sudo usermod -a -G debian-transmission your_user
chgrp debian-transmission /your_path/progress
chgrp debian-transmission /your_path/completed
chmod 770 /your_path/progress
chmod 770 /your_path/completed
sudo service transmission-daemon stop
sudo adduser your_user debian-transmission
sudo nano /etc/init.d/transmission-daemon
sudo chown your_user -R /var/lib/transmission-daemon/info/
sudo chown your_user -R /your_path/progress
sudo chown your_user -R /your_path/completed
sudo chown your_user -R /etc/transmission-daemon/settings.json

并更改文件:sudo nano /etc/transmission-daemon/settings.json

"rpc-whitelist": "127.0.0.1" > "rpc-whitelist": "*.*.*.*",
"rpc-password": "password" > "rpc-password": "your_password",
"download-dir": "/var/lib/transmission-daemon/downloads" > "download-dir": "/your_path/completed"
"incomplete-dir": "/var/lib/transmission-daemon/downloads" > "incomplete-dir": "/your_path/progress"

只需重新启动守护程序:

service transmission-daemon start
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.