Як змінити дозволи за замовчуванням для файлів, створених передач-демоном?


25

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

  • Мені хотілося б мати змогу видалити та перемістити цей файл із спільного доступу Samba.

  • Я розглядав можливість зміни первинної групи користувальницької debian-передачі, але переживав, що може зіпсувати доступ до інших файлів.

  • Я думав, що буде краще змінити дозвол нових файлів, створених debian-передачею, на 774, і додати себе до групи debian-передачі.

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

    Пропозиції чи альтернативні рішення вітаються. Заздалегідь спасибі.


Зробив це на Crystalubuntu, тепер я отримую помилку при запуску передачі - "не в змозі встановити gid на 113 (операція не дозволена)". Будь-яка ідея?

В кінцевому підсумку я став таким чином, як запис у crontab <pre> #! / Bin / sh trap "" 1 logfile = / dev / null exec> $ logfile 2> & 1 set -x в той час як true; do a = "$ (inotifywait -q -r -e переміщення -e створення -e видалення / дані / завершені завантаження / фільми --формат% w% f)" chown -R ніхто: ніхто "$ a" зроблено </pre>

Відповіді:


46

Ви можете вказати umask у конфігураційному файлі передачі ( /etc/transmission-daemon/settings.json). Umask, який ми зазвичай представляємо в восьмеричному, але, на жаль, json це не підтримує, тому ми повинні перетворити його в базу 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

Ще одна річ. Якщо ви зміните групове право власності на файл dir для завантаження та додасте до нього встановлений біт, усі файли, створені в цьому каталозі, матимуть те саме право власності на групу, що і цей каталог.

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

Це не вплине на файли, які вже існують. Докладнішу інформацію див. У розділі http://mywiki.wooledge.org/Permissions .


Саме те, що мені було потрібно. Дякую за включення встановленої бітової інформації, я забув про ці додаткові біти.
jpetersen

Я думаю, що роблю щось не так. Я хочу встановити дозволи на зразок chmod 775, тому я спробував із цією командою echo $ ((8 # 775)) і отримав 509, але, здається, це просто зламало демон передачі, оскільки він більше не завантажуватиме торрент-файли.
Fran Marzoa

3
@Fran Якщо ви встановите umask на 0775, файли перейдуть в режим 002; Маска вказує, які біти НЕ встановлювати для нових файлів. Ви хочете тут umask за замовчуванням (002), щоб файли створювалися в режимі 664, а каталоги в режимі 775.
geirha

Ой! Я вже зрозумів, що треба поставити 002, але не знав чому! Дякую мільйон за роз’яснення! :)
Fran Marzoa

Це було те, chmod g+sщо я пропав безвісти. Спасибі!
фліт

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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.