Управление разрешениями файлов
Я хотел бы иметь возможность перемещать файлы, загруженные при передаче, от имени моего основного пользователя.
Я добавил этого пользователя в группу debian-translation, но этого недостаточно, только владелец имеет разрешение на запись в загруженные файлы.
Итак, я вижу некоторые возможности:
- изменение пользователя передачи, но это не является хорошей практикой.
- установить опцию в передаче, чтобы позволить ему написать файл с разрешениями на запись для группы, но я не знаю, возможно ли это.
Итак, что вы посоветуете, чтобы привести к хорошему решению?
3 ответа
Решение, предложенное @sverker, хорошо, но я предлагаю вам изменить конфигурацию передачи так, чтобы она изменила маску, с которой записываются загруженные файлы. Конфигурация хранится в
~/.Config/ передачи /settings.json
Найдите и измените значение "umask". Обратите внимание, что формат json использует десятичную запись, поэтому взгляните на таблицу и найдите значение для нового umask (например: 22)
Umask Created Files Created Directories
-------------------------------------------------------------
000 666 (rw-rw-rw-) 777 (rwxrwxrwx)
002 664 (rw-rw-r--) 775 (rwxrwxr-x)
022 644 (rw-r--r--) 755 (rwxr-xr-x)
027 640 (rw-r-----) 750 (rwxr-x---)
077 600 (rw-------) 700 (rwx------)
277 400 (r--------) 500 (r-x------)
затем в терминале:
#echo $((8#022))
18
Наконец, измените значение umask на 18
Transmission, по крайней мере, как демон, имеет возможность запустить скрипт по завершении торрента. Вы должны быть в состоянии передать этот скрипт chmod на 664 после завершения. Оттуда файлы должны быть доступны и доступны для записи от вашего основного пользователя. Вы можете сделать скрипт, который содержит эти строки:
#!/usr/bin/env bash
chmod -R 664 ${TR_TORRENT_DIR}
exit 0
Затем вы делаете этот сценарий исполняемым и размещаете его где-нибудь, где демон передачи может получить к нему доступ, например /usr/local/bin или что-то в этом роде.
Затем вы указываете демоду передачи запускать скрипт по завершении торрента. Вы можете сделать это с помощью графического интерфейса или иметь эту строку в своем /etc/transmission-daemon/settings.json
файл:
"script-torrent-done-filename": "/usr/local/bin/your-script.sh",
И это должно быть так. Концепция script-torrent-done довольно мощная, я использую ее для сортировки торрентов в фильмы / музыку / и т. Д. В соответствии с их содержанием, но это довольно длинный скрипт:)
Вам следует ознакомиться с ACL, он позволяет добавлять дополнительные разрешения, например, добавлять разрешения для вашего основного пользователя.
например sudo setfacl -d -R u:gael:rw /home/transmission
позволяет вашему пользователю читать и писать в этот каталог. -d по умолчанию означает, что файлы, созданные в этом каталоге, будут иметь эти новые разрешения. Обычно вы используете -m вместо -d. Запустите с -m, чтобы применить к существующим файлам.
Вы можете создать скрипт для запуска команды setfacl по завершении, чтобы убедиться, что все файлы правильные, как предположил Сверкер;