Как изменить разрешения по умолчанию для файлов, созданных демонами передачи?

18

У меня есть машина, на которой запущен сервер Ubuntu 12.04 с передачей-демоном, работающим для работы с bitorrents. Все работает отлично, за исключением того, что демон передачи создает файлы как пользователь / группа, debian-transmission и с правами доступа 744.

  • Я хотел бы иметь возможность удалять и перемещать этот файл из общего ресурса samba.

  • Я решил изменить основную группу пользовательской debian-передачи, но я был обеспокоен тем, что может испортить доступ к другим файлам.

  • Я подумал, что было бы лучше изменить разрешение по умолчанию для новых файлов, созданных debian-transmission, до 774 и добавить себя в группу debian-transmission.

    Я знаю, что это можно сделать с помощью umask, но я понимаю, что это будет установлено в файле .profile, и поскольку в debian-передаче нет домашней папки, я не уверен, что этот файл существует для пользователя. Итак, как это сделать?

    Предложения или альтернативные решения приветствуются. Спасибо заранее.

задан jpetersen 29.06.2012 в 07:31
источник

2 ответа

37

Вы можете указать umask в файле конфигурации передачи ( /etc/transmission-daemon/settings.json ). Umask мы обычно представляем в восьмеричном, но, к сожалению, json не поддерживает это, поэтому мы должны преобразовать его в base 10. Вы можете сделать это в оболочке следующим образом:

$ 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

Это не повлияет на файлы, которые уже существуют. Подробнее см. Ссылка .

    
ответ дан geirha 29.06.2012 в 08:29
источник
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
    
ответ дан costales 21.10.2013 в 20:11